Bundles a stretch of in-progress work across the SPA tools so the
tree returns to a coherent shippable state ahead of cutting a new
zddc-server stable image:
- landing: substantial rework of the project picker (sortable/filterable
table, presets refactor, ?projects= filter, ?v= channel propagation,
loading/error states)
- archive: presets cleanup, source.js refactor, filtering/url-state
alignment with the landing page
- mdedit: file-system module split, resizer, file-tree improvements,
base/toc styling tweaks
- transmittal/classifier: small template touch-ups for shared chrome
- shared: build-lib.sh helpers, new favicon.svg
- bootstrap, build.sh: pick up the channel-aware install/track zip
generation
- tests: new landing.spec.js, expanded archive/mdedit/build-label specs
- docs: CLAUDE.md picks up the zddc-server section and freshens the
alpha-build exception note
- regenerated artifacts: install.zip, track-{alpha,beta,stable}.zip,
*_alpha.html — these are produced by `sh build.sh` and per project
convention are committed alongside the source changes
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
45 lines
1.6 KiB
JavaScript
45 lines
1.6 KiB
JavaScript
/**
|
|
* ZDDC Archive - Initialization
|
|
* Sets up window.app and window.app.modules before other modules run.
|
|
* Must be the first JS file in the build.
|
|
*/
|
|
(function() {
|
|
'use strict';
|
|
|
|
window.app = {
|
|
sourceMode: null,
|
|
directories: [],
|
|
groupingFolders: [],
|
|
transmittalFolders: [],
|
|
files: [],
|
|
filteredFiles: [],
|
|
selectedFiles: new Set(),
|
|
isScanning: false,
|
|
scanProgress: '',
|
|
|
|
columnFilters: { trackingNumber: '', title: '', revisions: '' },
|
|
columnFilterASTs: { trackingNumber: null, title: null, revisions: null },
|
|
groupingFilter: '',
|
|
transmittalFilter: '',
|
|
enabledFolderTypes: new Set(['issued', 'received']),
|
|
sortField: 'trackingNumber',
|
|
sortDirection: 'asc',
|
|
selectedGroupingFolders: new Set(),
|
|
selectedTransmittalFolders: new Set(),
|
|
collapsedDateGroups: new Set(),
|
|
collapsedGroupingFolders: new Set(),
|
|
selectAllGroupingFolders: true,
|
|
selectAllTransmittals: true,
|
|
availableModifiers: new Set(),
|
|
selectedModifiers: new Set(),
|
|
showSelectedOnly: false,
|
|
projectFilter: new Set(), // URL-derived; controls what gets SCANNED
|
|
visibleProjects: new Set(), // dropdown-derived; controls VISIBILITY of already-scanned data
|
|
availableProjects: [], // populated by autoConnectHttpSource from server's ProjectInfo[]
|
|
isMultiProject: false, // true when ?projects= is set OR server returns ProjectInfo
|
|
FOLDER_TYPE_NAMES: ['issued', 'received', 'mdl', 'incoming'],
|
|
ARCHIVE_STAGE_NAME: 'archive',
|
|
modules: {}
|
|
};
|
|
|
|
})();
|