dvStudioScreens top-level constant
Every screen free Studio has, in the order its rail puts them.
The ids are the ones dartvel_flutter's dvStudioServerSections and
DVStudioScreenSpec use, and the two are held to each other by a test: a
screen this list names that the rail does not have would be a link to
nowhere, and a screen the rail has that this list does not is a screen a
crawler, a printer and a reader with scripting off never hear about.
Two screens are deliberately missing, because they exist only for a
project that declared something: flags, for an application with feature
flags, and operations, for one with alerting or incidents. A server
cannot know either -- they are wired at run time -- so printing a link to
them on a project that has none would be printing a dead link. Their URLs
still work on a project that has them, because the client is what knows.
pages is the mount itself: <mount> and <mount>/pages are the same
screen, so the first address a person is given is not a special case.
Implementation
const List<DVStudioScreenSpec> dvStudioScreens = <DVStudioScreenSpec>[
DVStudioScreenSpec(
id: 'pages',
label: 'Pages',
summary:
'Every page this application answers, and the canvas that draws '
'one of them.',
),
DVStudioScreenSpec(
id: 'components',
label: 'Components',
summary:
'Parts of a page designed once and put on any page of this '
'application.',
),
DVStudioScreenSpec(
id: 'shortcuts',
label: 'Shortcuts',
summary: 'The keys this application answers, set without code.',
),
DVStudioScreenSpec(
id: 'models',
label: 'Data',
summary:
'Every data model in this application, its fields, and its '
'records.',
),
DVStudioScreenSpec(
id: 'routes',
label: 'Site map',
summary:
'Every route this application answers, compiled from source and '
'stored here.',
),
DVStudioScreenSpec(
id: 'frontend',
label: 'Frontend',
summary: 'The functions the pages of this application call.',
),
DVStudioScreenSpec(
id: 'functions',
label: 'Backend',
summary:
'The functions this application answers for, and the steps each '
'one runs.',
),
DVStudioScreenSpec(
id: 'modules',
label: 'Modules',
summary: 'The modules this application mounts, and what each one adds.',
),
DVStudioScreenSpec(
id: 'jobs',
label: 'Tasks',
summary:
'The background tasks this application runs, and where each '
'one is declared.',
),
DVStudioScreenSpec(
id: 'queues',
label: 'Queue',
summary: 'The queues those tasks run on.',
),
DVStudioScreenSpec(
id: 'cache',
label: 'Cache',
summary: 'What this application keeps in its cache, and for how long.',
),
DVStudioScreenSpec(
id: 'repository',
label: 'GitHub',
summary:
"This application's studio folder, as a diff, a pull request or a "
'push.',
),
DVStudioScreenSpec(
id: 'access',
label: 'Team',
summary: 'Who may open Studio for this application.',
),
];