@cratis/scene.blueprint.vendors 0.0.0-stage → 4.71.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +66 -2
- package/blueprint.ts +16 -0
- package/blueprintCatalog.json +107 -0
- package/dist/cjs/blueprint.js +19 -0
- package/dist/cjs/blueprint.js.map +1 -0
- package/dist/cjs/index.js +68 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/manifest.js +87 -0
- package/dist/cjs/manifest.js.map +1 -0
- package/dist/cjs/navigation.js +109 -0
- package/dist/cjs/navigation.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/packageName.js +8 -0
- package/dist/cjs/packageName.js.map +1 -0
- package/dist/cjs/screens/index.js +22 -0
- package/dist/cjs/screens/index.js.map +1 -0
- package/dist/cjs/templateProvenance.js +24 -0
- package/dist/cjs/templateProvenance.js.map +1 -0
- package/dist/cjs/templates/boardTemplate.js +78 -0
- package/dist/cjs/templates/boardTemplate.js.map +1 -0
- package/dist/cjs/templates/dashboardTemplates.js +151 -0
- package/dist/cjs/templates/dashboardTemplates.js.map +1 -0
- package/dist/cjs/templates/formTemplates.js +50 -0
- package/dist/cjs/templates/formTemplates.js.map +1 -0
- package/dist/cjs/templates/index.js +25 -0
- package/dist/cjs/templates/index.js.map +1 -0
- package/dist/cjs/templates/listTemplates.js +145 -0
- package/dist/cjs/templates/listTemplates.js.map +1 -0
- package/dist/cjs/templates/recordTemplates.js +135 -0
- package/dist/cjs/templates/recordTemplates.js.map +1 -0
- package/dist/cjs/vendorsApplication.js +49 -0
- package/dist/cjs/vendorsApplication.js.map +1 -0
- package/dist/cjs/vendorsParts.js +151 -0
- package/dist/cjs/vendorsParts.js.map +1 -0
- package/dist/cjs/vendorsQueries.js +64 -0
- package/dist/cjs/vendorsQueries.js.map +1 -0
- package/dist/cjs/vendorsScreenSet.js +40 -0
- package/dist/cjs/vendorsScreenSet.js.map +1 -0
- package/dist/esm/blueprint.d.ts +3 -0
- package/dist/esm/blueprint.d.ts.map +1 -0
- package/dist/esm/blueprint.js +17 -0
- package/dist/esm/blueprint.js.map +1 -0
- package/dist/esm/index.d.ts +12 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +18 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/manifest.d.ts +3 -0
- package/dist/esm/manifest.d.ts.map +1 -0
- package/dist/esm/manifest.js +85 -0
- package/dist/esm/manifest.js.map +1 -0
- package/dist/esm/navigation.d.ts +5 -0
- package/dist/esm/navigation.d.ts.map +1 -0
- package/dist/esm/navigation.js +105 -0
- package/dist/esm/navigation.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/packageName.d.ts +2 -0
- package/dist/esm/packageName.d.ts.map +1 -0
- package/dist/esm/packageName.js +6 -0
- package/dist/esm/packageName.js.map +1 -0
- package/dist/esm/screens/index.d.ts +3 -0
- package/dist/esm/screens/index.d.ts.map +1 -0
- package/dist/esm/screens/index.js +20 -0
- package/dist/esm/screens/index.js.map +1 -0
- package/dist/esm/templateProvenance.d.ts +3 -0
- package/dist/esm/templateProvenance.d.ts.map +1 -0
- package/dist/esm/templateProvenance.js +22 -0
- package/dist/esm/templateProvenance.js.map +1 -0
- package/dist/esm/templates/boardTemplate.d.ts +3 -0
- package/dist/esm/templates/boardTemplate.d.ts.map +1 -0
- package/dist/esm/templates/boardTemplate.js +76 -0
- package/dist/esm/templates/boardTemplate.js.map +1 -0
- package/dist/esm/templates/dashboardTemplates.d.ts +3 -0
- package/dist/esm/templates/dashboardTemplates.d.ts.map +1 -0
- package/dist/esm/templates/dashboardTemplates.js +149 -0
- package/dist/esm/templates/dashboardTemplates.js.map +1 -0
- package/dist/esm/templates/formTemplates.d.ts +3 -0
- package/dist/esm/templates/formTemplates.d.ts.map +1 -0
- package/dist/esm/templates/formTemplates.js +48 -0
- package/dist/esm/templates/formTemplates.js.map +1 -0
- package/dist/esm/templates/index.d.ts +8 -0
- package/dist/esm/templates/index.d.ts.map +1 -0
- package/dist/esm/templates/index.js +17 -0
- package/dist/esm/templates/index.js.map +1 -0
- package/dist/esm/templates/listTemplates.d.ts +3 -0
- package/dist/esm/templates/listTemplates.d.ts.map +1 -0
- package/dist/esm/templates/listTemplates.js +143 -0
- package/dist/esm/templates/listTemplates.js.map +1 -0
- package/dist/esm/templates/recordTemplates.d.ts +3 -0
- package/dist/esm/templates/recordTemplates.d.ts.map +1 -0
- package/dist/esm/templates/recordTemplates.js +133 -0
- package/dist/esm/templates/recordTemplates.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/vendorsApplication.d.ts +10 -0
- package/dist/esm/vendorsApplication.d.ts.map +1 -0
- package/dist/esm/vendorsApplication.js +44 -0
- package/dist/esm/vendorsApplication.js.map +1 -0
- package/dist/esm/vendorsParts.d.ts +16 -0
- package/dist/esm/vendorsParts.d.ts.map +1 -0
- package/dist/esm/vendorsParts.js +133 -0
- package/dist/esm/vendorsParts.js.map +1 -0
- package/dist/esm/vendorsQueries.d.ts +38 -0
- package/dist/esm/vendorsQueries.d.ts.map +1 -0
- package/dist/esm/vendorsQueries.js +56 -0
- package/dist/esm/vendorsQueries.js.map +1 -0
- package/dist/esm/vendorsScreenSet.d.ts +7 -0
- package/dist/esm/vendorsScreenSet.d.ts.map +1 -0
- package/dist/esm/vendorsScreenSet.js +38 -0
- package/dist/esm/vendorsScreenSet.js.map +1 -0
- package/index.ts +14 -0
- package/manifest.ts +41 -0
- package/navigation.ts +53 -0
- package/package.json +78 -4
- package/packageName.ts +5 -0
- package/sampleData/vendors-en.json +863 -0
- package/screens/index.ts +20 -0
- package/templateProvenance.ts +15 -0
- package/templates/boardTemplate.ts +54 -0
- package/templates/dashboardTemplates.ts +76 -0
- package/templates/formTemplates.ts +33 -0
- package/templates/index.ts +18 -0
- package/templates/listTemplates.ts +96 -0
- package/templates/recordTemplates.ts +78 -0
- package/thumbnails/VendorPage.svg +17 -0
- package/thumbnails/VendorsList.svg +29 -0
- package/thumbnails/VendorsOnboardingBoard.svg +23 -0
- package/thumbnails/VendorsPerformance.svg +15 -0
- package/thumbnails/VendorsQuickCreateVendor.svg +12 -0
- package/thumbnails/vendors.svg +14 -0
- package/vendorsApplication.ts +28 -0
- package/vendorsParts.ts +58 -0
- package/vendorsQueries.ts +56 -0
- package/vendorsScreenSet.ts +21 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { PackageKind } from '@cratis/scene.model';
|
|
2
|
+
import { vendorsBlueprintName } from './packageName.js';
|
|
3
|
+
import { vendorsScreenDefinitions } from './vendorsScreenSet.js';
|
|
4
|
+
import { vendorsScreenTemplates } from './templates/index.js';
|
|
5
|
+
import { vendorsDialogs } from './templates/formTemplates.js';
|
|
6
|
+
|
|
7
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
8
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
9
|
+
const description = 'Vendors for a purchasing team: a vendor list, a vendor page with its contacts, orders and certificates, an onboarding board and a performance dashboard.';
|
|
10
|
+
/**
|
|
11
|
+
* This blueprint's declaration. A domain blueprint depends on the foundation set (`Cratis.Blueprint.Default`) and reuses its layouts, slots,
|
|
12
|
+
* components and themes - it ships none of its own - and adds what is specific to the domain: templates, a ready-to-use screen set, sample data
|
|
13
|
+
* and thumbnails. The package `version` is the blueprint's version: it is what a template reference pins and what "update available" compares.
|
|
14
|
+
*/ const vendorsBlueprintManifest = {
|
|
15
|
+
name: vendorsBlueprintName,
|
|
16
|
+
version: '1.0.0',
|
|
17
|
+
kind: PackageKind.Blueprint,
|
|
18
|
+
dependencies: [
|
|
19
|
+
{
|
|
20
|
+
name: 'Cratis.Blueprint.Default',
|
|
21
|
+
versionRange: '^1.0.0'
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
components: [],
|
|
25
|
+
layouts: [],
|
|
26
|
+
screenTemplates: vendorsScreenTemplates.map((template)=>template.name),
|
|
27
|
+
dialogTemplates: vendorsDialogs.map((template)=>template.name),
|
|
28
|
+
themes: [],
|
|
29
|
+
displayName: 'Vendors',
|
|
30
|
+
description,
|
|
31
|
+
module: '@cratis/scene.blueprint.vendors',
|
|
32
|
+
license: 'MIT',
|
|
33
|
+
licenseUrl: 'https://github.com/Cratis/Scene/blob/main/LICENSE',
|
|
34
|
+
sampleData: [
|
|
35
|
+
{
|
|
36
|
+
id: 'vendors-en',
|
|
37
|
+
title: 'Vendors · English',
|
|
38
|
+
locale: 'en-GB',
|
|
39
|
+
path: 'sampleData/vendors-en.json',
|
|
40
|
+
description: 'English vendor data: twelve vendors from prospect to active, one vendor\'s contacts, purchase orders and certificates, the onboarding steps and performance figures.',
|
|
41
|
+
columns: [
|
|
42
|
+
'Vendor',
|
|
43
|
+
'Category',
|
|
44
|
+
'Country',
|
|
45
|
+
'Spend',
|
|
46
|
+
'Rating'
|
|
47
|
+
],
|
|
48
|
+
statusColumn: 'Status',
|
|
49
|
+
statuses: {
|
|
50
|
+
good: [
|
|
51
|
+
'Active',
|
|
52
|
+
'Approved'
|
|
53
|
+
],
|
|
54
|
+
pending: [
|
|
55
|
+
'Prospect',
|
|
56
|
+
'In review'
|
|
57
|
+
],
|
|
58
|
+
bad: [
|
|
59
|
+
'Suspended'
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
blueprint: {
|
|
65
|
+
domain: 'vendors',
|
|
66
|
+
description,
|
|
67
|
+
thumbnail: 'thumbnails/vendors.svg',
|
|
68
|
+
screenSet: vendorsScreenDefinitions.map(({ name, title, description: screenDescription, template, parent, order })=>({
|
|
69
|
+
name,
|
|
70
|
+
title,
|
|
71
|
+
description: screenDescription,
|
|
72
|
+
template,
|
|
73
|
+
...parent === undefined ? {} : {
|
|
74
|
+
parent
|
|
75
|
+
},
|
|
76
|
+
...order === undefined ? {} : {
|
|
77
|
+
order
|
|
78
|
+
}
|
|
79
|
+
})),
|
|
80
|
+
defaultSampleData: 'vendors-en'
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
export { vendorsBlueprintManifest };
|
|
85
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sources":["../../manifest.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { PackageKind, ScenePackage } from '@cratis/scene.model';\nimport { vendorsBlueprintName } from './packageName';\nimport { vendorsScreenDefinitions } from './vendorsScreenSet';\nimport { vendorsDialogTemplates, vendorsScreenTemplates } from './templates';\n\nconst description = 'Vendors for a purchasing team: a vendor list, a vendor page with its contacts, orders and certificates, an onboarding board and a performance dashboard.';\n\n/**\n * This blueprint's declaration. A domain blueprint depends on the foundation set (`Cratis.Blueprint.Default`) and reuses its layouts, slots,\n * components and themes - it ships none of its own - and adds what is specific to the domain: templates, a ready-to-use screen set, sample data\n * and thumbnails. The package `version` is the blueprint's version: it is what a template reference pins and what \"update available\" compares.\n */\nexport const vendorsBlueprintManifest: ScenePackage = {\n name: vendorsBlueprintName,\n version: '1.0.0',\n kind: PackageKind.Blueprint,\n dependencies: [{ name: 'Cratis.Blueprint.Default', versionRange: '^1.0.0' }],\n components: [],\n layouts: [],\n screenTemplates: vendorsScreenTemplates.map(template => template.name),\n dialogTemplates: vendorsDialogTemplates.map(template => template.name),\n themes: [],\n displayName: 'Vendors',\n description,\n module: '@cratis/scene.blueprint.vendors',\n license: 'MIT',\n licenseUrl: 'https://github.com/Cratis/Scene/blob/main/LICENSE',\n sampleData: [{ id: 'vendors-en', title: 'Vendors · English', locale: 'en-GB', path: 'sampleData/vendors-en.json', description: 'English vendor data: twelve vendors from prospect to active, one vendor\\'s contacts, purchase orders and certificates, the onboarding steps and performance figures.', columns: ['Vendor', 'Category', 'Country', 'Spend', 'Rating'], statusColumn: 'Status', statuses: { good: ['Active', 'Approved'], pending: ['Prospect', 'In review'], bad: ['Suspended'] } }],\n blueprint: {\n domain: 'vendors',\n description,\n thumbnail: 'thumbnails/vendors.svg',\n screenSet: vendorsScreenDefinitions.map(({ name, title, description: screenDescription, template, parent, order }) => ({\n name, title, description: screenDescription, template, ...(parent === undefined ? {} : { parent }), ...(order === undefined ? {} : { order }),\n })),\n defaultSampleData: 'vendors-en',\n },\n};\n"],"names":["description","vendorsBlueprintManifest","name","vendorsBlueprintName","version","kind","PackageKind","Blueprint","dependencies","versionRange","components","layouts","screenTemplates","vendorsScreenTemplates","map","template","dialogTemplates","vendorsDialogTemplates","themes","displayName","module","license","licenseUrl","sampleData","id","title","locale","path","columns","statusColumn","statuses","good","pending","bad","blueprint","domain","thumbnail","screenSet","vendorsScreenDefinitions","screenDescription","parent","order","undefined","defaultSampleData"],"mappings":";;;;;;AAAA;AACA;AAOA,MAAMA,WAAAA,GAAc,0JAAA;AAEpB;;;;UAKaC,wBAAAA,GAAyC;IAClDC,IAAAA,EAAMC,oBAAAA;IACNC,OAAAA,EAAS,OAAA;AACTC,IAAAA,IAAAA,EAAMC,YAAYC,SAAS;IAC3BC,YAAAA,EAAc;AAAC,QAAA;YAAEN,IAAAA,EAAM,0BAAA;YAA4BO,YAAAA,EAAc;AAAS;AAAE,KAAA;AAC5EC,IAAAA,UAAAA,EAAY,EAAE;AACdC,IAAAA,OAAAA,EAAS,EAAE;AACXC,IAAAA,eAAAA,EAAiBC,uBAAuBC,GAAG,CAACC,CAAAA,QAAAA,GAAYA,SAASb,IAAI,CAAA;AACrEc,IAAAA,eAAAA,EAAiBC,eAAuBH,GAAG,CAACC,CAAAA,QAAAA,GAAYA,SAASb,IAAI,CAAA;AACrEgB,IAAAA,MAAAA,EAAQ,EAAE;IACVC,WAAAA,EAAa,SAAA;AACbnB,IAAAA,WAAAA;IACAoB,MAAAA,EAAQ,iCAAA;IACRC,OAAAA,EAAS,KAAA;IACTC,UAAAA,EAAY,mDAAA;IACZC,UAAAA,EAAY;AAAC,QAAA;YAAEC,EAAAA,EAAI,YAAA;YAAcC,KAAAA,EAAO,mBAAA;YAAqBC,MAAAA,EAAQ,OAAA;YAASC,IAAAA,EAAM,4BAAA;YAA8B3B,WAAAA,EAAa,sKAAA;YAAwK4B,OAAAA,EAAS;AAAC,gBAAA,QAAA;AAAU,gBAAA,UAAA;AAAY,gBAAA,SAAA;AAAW,gBAAA,OAAA;AAAS,gBAAA;AAAS,aAAA;YAAEC,YAAAA,EAAc,QAAA;YAAUC,QAAAA,EAAU;gBAAEC,IAAAA,EAAM;AAAC,oBAAA,QAAA;AAAU,oBAAA;AAAW,iBAAA;gBAAEC,OAAAA,EAAS;AAAC,oBAAA,UAAA;AAAY,oBAAA;AAAY,iBAAA;gBAAEC,GAAAA,EAAK;AAAC,oBAAA;AAAY;AAAC;AAAE;AAAE,KAAA;IACneC,SAAAA,EAAW;QACPC,MAAAA,EAAQ,SAAA;AACRnC,QAAAA,WAAAA;QACAoC,SAAAA,EAAW,wBAAA;AACXC,QAAAA,SAAAA,EAAWC,yBAAyBxB,GAAG,CAAC,CAAC,EAAEZ,IAAI,EAAEuB,KAAK,EAAEzB,aAAauC,iBAAiB,EAAExB,QAAQ,EAAEyB,MAAM,EAAEC,KAAK,EAAE,IAAM;AACnHvC,gBAAAA,IAAAA;AAAMuB,gBAAAA,KAAAA;gBAAOzB,WAAAA,EAAauC,iBAAAA;AAAmBxB,gBAAAA,QAAAA;gBAAU,GAAIyB,MAAAA,KAAWE,SAAAA,GAAY,EAAC,GAAI;AAAEF,oBAAAA;iBAAQ;gBAAG,GAAIC,KAAAA,KAAUC,SAAAA,GAAY,EAAC,GAAI;AAAED,oBAAAA;;aACzI,CAAA,CAAA;QACAE,iBAAAA,EAAmB;AACvB;AACJ;;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ApplicationStructure, NavigationModel } from '@cratis/scene.model';
|
|
2
|
+
export declare const vendorsModule = "vendors";
|
|
3
|
+
export declare const vendorsStructure: ApplicationStructure;
|
|
4
|
+
export declare const vendorsNavigation: NavigationModel;
|
|
5
|
+
//# sourceMappingURL=navigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../navigation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAA8C,MAAM,qBAAqB,CAAC;AAIxH,eAAO,MAAM,aAAa,YAAY,CAAC;AAMvC,eAAO,MAAM,gBAAgB,EAAE,oBAgB3B,CAAC;AAML,eAAO,MAAM,iBAAiB,EAAE,eAiB/B,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { NavigationRegionMode, NavigationRegionKind } from '@cratis/scene.model';
|
|
2
|
+
import { vendorsScreenDefinitions } from './vendorsScreenSet.js';
|
|
3
|
+
|
|
4
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
5
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
6
|
+
/** The module the blueprint's screens live in, and so the first segment of every screen's qualified name. */ const vendorsModule = 'vendors';
|
|
7
|
+
/**
|
|
8
|
+
* The application structure the screen set implies: one module, `vendors`, a feature for each screen and the sub-features beneath it (`vendors.record` is the
|
|
9
|
+
* `record` feature of the module). Derived from the screen names, so a screen added to the set is part of the structure without a second edit.
|
|
10
|
+
*/ const vendorsStructure = (()=>{
|
|
11
|
+
const root = {
|
|
12
|
+
id: vendorsModule,
|
|
13
|
+
name: 'Vendors',
|
|
14
|
+
features: []};
|
|
15
|
+
for (const screen of vendorsScreenDefinitions){
|
|
16
|
+
let parent = root;
|
|
17
|
+
for (const id of screen.name.split('.').slice(1)){
|
|
18
|
+
let node = parent.features.find((candidate)=>candidate.id === id);
|
|
19
|
+
if (!node) {
|
|
20
|
+
node = {
|
|
21
|
+
id,
|
|
22
|
+
name: screen.title,
|
|
23
|
+
features: [],
|
|
24
|
+
slices: []
|
|
25
|
+
};
|
|
26
|
+
parent.features.push(node);
|
|
27
|
+
}
|
|
28
|
+
parent = node;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
modules: [
|
|
33
|
+
{
|
|
34
|
+
id: root.id,
|
|
35
|
+
name: root.name,
|
|
36
|
+
features: root.features
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
/**
|
|
42
|
+
* The navigation of the application the blueprint is: the topbar names the module, and the module's sidebar - which overrides the application's - lists
|
|
43
|
+
* the places a team goes: Vendors, Onboarding, Performance.
|
|
44
|
+
*/ const vendorsNavigation = {
|
|
45
|
+
application: {
|
|
46
|
+
logo: {
|
|
47
|
+
image: '',
|
|
48
|
+
title: 'Vendors'
|
|
49
|
+
},
|
|
50
|
+
regions: [
|
|
51
|
+
{
|
|
52
|
+
region: NavigationRegionKind.Topbar,
|
|
53
|
+
items: [
|
|
54
|
+
{
|
|
55
|
+
id: 'vendors',
|
|
56
|
+
title: 'Vendors',
|
|
57
|
+
target: {
|
|
58
|
+
module: vendorsModule
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
modules: [
|
|
66
|
+
{
|
|
67
|
+
module: vendorsModule,
|
|
68
|
+
regions: [
|
|
69
|
+
{
|
|
70
|
+
region: NavigationRegionKind.Sidebar,
|
|
71
|
+
mode: NavigationRegionMode.Override,
|
|
72
|
+
items: [
|
|
73
|
+
{
|
|
74
|
+
id: 'list',
|
|
75
|
+
title: 'Vendors',
|
|
76
|
+
target: {
|
|
77
|
+
module: vendorsModule,
|
|
78
|
+
feature: 'list'
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
id: 'onboarding',
|
|
83
|
+
title: 'Onboarding',
|
|
84
|
+
target: {
|
|
85
|
+
module: vendorsModule,
|
|
86
|
+
feature: 'onboarding'
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
id: 'performance',
|
|
91
|
+
title: 'Performance',
|
|
92
|
+
target: {
|
|
93
|
+
module: vendorsModule,
|
|
94
|
+
feature: 'performance'
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export { vendorsModule, vendorsNavigation, vendorsStructure };
|
|
105
|
+
//# sourceMappingURL=navigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.js","sources":["../../navigation.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ApplicationStructure, NavigationModel, NavigationRegionKind, NavigationRegionMode } from '@cratis/scene.model';\nimport { vendorsScreenDefinitions } from './vendorsScreenSet';\n\n/** The module the blueprint's screens live in, and so the first segment of every screen's qualified name. */\nexport const vendorsModule = 'vendors';\n\n/**\n * The application structure the screen set implies: one module, `vendors`, a feature for each screen and the sub-features beneath it (`vendors.record` is the\n * `record` feature of the module). Derived from the screen names, so a screen added to the set is part of the structure without a second edit.\n */\nexport const vendorsStructure: ApplicationStructure = (() => {\n interface Node { id: string; name: string; features: Node[]; slices: never[] }\n const root: Node = { id: vendorsModule, name: 'Vendors', features: [], slices: [] };\n for (const screen of vendorsScreenDefinitions) {\n let parent = root;\n for (const id of screen.name.split('.').slice(1)) {\n let node = parent.features.find(candidate => candidate.id === id);\n if (!node) {\n node = { id, name: screen.title, features: [], slices: [] };\n parent.features.push(node);\n }\n parent = node;\n }\n }\n\n return { modules: [{ id: root.id, name: root.name, features: root.features }] } as unknown as ApplicationStructure;\n})();\n\n/**\n * The navigation of the application the blueprint is: the topbar names the module, and the module's sidebar - which overrides the application's - lists\n * the places a team goes: Vendors, Onboarding, Performance.\n */\nexport const vendorsNavigation: NavigationModel = {\n application: {\n logo: { image: '', title: 'Vendors' },\n regions: [{ region: NavigationRegionKind.Topbar, items: [{ id: 'vendors', title: 'Vendors', target: { module: vendorsModule } }] }],\n },\n modules: [{\n module: vendorsModule,\n regions: [{\n region: NavigationRegionKind.Sidebar,\n mode: NavigationRegionMode.Override,\n items: [\n { id: 'list', title: 'Vendors', target: { module: vendorsModule, feature: 'list' } },\n { id: 'onboarding', title: 'Onboarding', target: { module: vendorsModule, feature: 'onboarding' } },\n { id: 'performance', title: 'Performance', target: { module: vendorsModule, feature: 'performance' } },\n ],\n }],\n }],\n};\n"],"names":["vendorsModule","vendorsStructure","root","id","name","features","screen","vendorsScreenDefinitions","parent","split","slice","node","find","candidate","title","slices","push","modules","vendorsNavigation","application","logo","image","regions","region","NavigationRegionKind","Topbar","items","target","module","Sidebar","mode","NavigationRegionMode","Override","feature"],"mappings":";;;AAAA;AACA;AAKA,8GACO,MAAMA,aAAAA,GAAgB;AAE7B;;;AAGC,IACM,MAAMC,gBAAAA,GAA0C,CAAA,IAAA;AAEnD,IAAA,MAAMC,IAAAA,GAAa;QAAEC,EAAAA,EAAIH,aAAAA;QAAeI,IAAAA,EAAM,SAAA;AAAWC,QAAAA,QAAAA,EAAU,EAAe,CAAA;IAClF,KAAK,MAAMC,UAAUC,wBAAAA,CAA0B;AAC3C,QAAA,IAAIC,MAAAA,GAASN,IAAAA;QACb,KAAK,MAAMC,EAAAA,IAAMG,MAAAA,CAAOF,IAAI,CAACK,KAAK,CAAC,GAAA,CAAA,CAAKC,KAAK,CAAC,CAAA,CAAA,CAAI;YAC9C,IAAIC,IAAAA,GAAOH,MAAAA,CAAOH,QAAQ,CAACO,IAAI,CAACC,CAAAA,SAAAA,GAAaA,SAAAA,CAAUV,EAAE,KAAKA,EAAAA,CAAAA;AAC9D,YAAA,IAAI,CAACQ,IAAAA,EAAM;gBACPA,IAAAA,GAAO;AAAER,oBAAAA,EAAAA;AAAIC,oBAAAA,IAAAA,EAAME,OAAOQ,KAAK;AAAET,oBAAAA,QAAAA,EAAU,EAAE;AAAEU,oBAAAA,MAAAA,EAAQ;AAAG,iBAAA;gBAC1DP,MAAAA,CAAOH,QAAQ,CAACW,IAAI,CAACL,IAAAA,CAAAA;AACzB,YAAA;YACAH,MAAAA,GAASG,IAAAA;AACb,QAAA;AACJ,IAAA;IAEA,OAAO;QAAEM,OAAAA,EAAS;AAAC,YAAA;AAAEd,gBAAAA,EAAAA,EAAID,KAAKC,EAAE;AAAEC,gBAAAA,IAAAA,EAAMF,KAAKE,IAAI;AAAEC,gBAAAA,QAAAA,EAAUH,KAAKG;AAAS;AAAE;AAAC,KAAA;AAClF,CAAA;AAEA;;;UAIaa,iBAAAA,GAAqC;IAC9CC,WAAAA,EAAa;QACTC,IAAAA,EAAM;YAAEC,KAAAA,EAAO,EAAA;YAAIP,KAAAA,EAAO;AAAU,SAAA;QACpCQ,OAAAA,EAAS;AAAC,YAAA;AAAEC,gBAAAA,MAAAA,EAAQC,qBAAqBC,MAAM;gBAAEC,KAAAA,EAAO;AAAC,oBAAA;wBAAEvB,EAAAA,EAAI,SAAA;wBAAWW,KAAAA,EAAO,SAAA;wBAAWa,MAAAA,EAAQ;4BAAEC,MAAAA,EAAQ5B;AAAc;AAAE;AAAE;AAAC;AAAE;AACvI,KAAA;IACAiB,OAAAA,EAAS;AAAC,QAAA;YACNW,MAAAA,EAAQ5B,aAAAA;YACRsB,OAAAA,EAAS;AAAC,gBAAA;AACNC,oBAAAA,MAAAA,EAAQC,qBAAqBK,OAAO;AACpCC,oBAAAA,IAAAA,EAAMC,qBAAqBC,QAAQ;oBACnCN,KAAAA,EAAO;AACH,wBAAA;4BAAEvB,EAAAA,EAAI,MAAA;4BAAQW,KAAAA,EAAO,SAAA;4BAAWa,MAAAA,EAAQ;gCAAEC,MAAAA,EAAQ5B,aAAAA;gCAAeiC,OAAAA,EAAS;AAAO;AAAE,yBAAA;AACnF,wBAAA;4BAAE9B,EAAAA,EAAI,YAAA;4BAAcW,KAAAA,EAAO,YAAA;4BAAca,MAAAA,EAAQ;gCAAEC,MAAAA,EAAQ5B,aAAAA;gCAAeiC,OAAAA,EAAS;AAAa;AAAE,yBAAA;AAClG,wBAAA;4BAAE9B,EAAAA,EAAI,aAAA;4BAAeW,KAAAA,EAAO,aAAA;4BAAea,MAAAA,EAAQ;gCAAEC,MAAAA,EAAQ5B,aAAAA;gCAAeiC,OAAAA,EAAS;AAAc;AAAE;AACxG;AACL;AAAE;AACN;AAAE;AACN;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageName.d.ts","sourceRoot":"","sources":["../../packageName.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
/** The name this blueprint is known by inside a `ui profile`; every component registry key is built from it. */ const vendorsBlueprintName = 'Cratis.Blueprint.Vendors';
|
|
4
|
+
|
|
5
|
+
export { vendorsBlueprintName };
|
|
6
|
+
//# sourceMappingURL=packageName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageName.js","sources":["../../packageName.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/** The name this blueprint is known by inside a `ui profile`; every component registry key is built from it. */\nexport const vendorsBlueprintName = 'Cratis.Blueprint.Vendors';\n"],"names":["vendorsBlueprintName"],"mappings":"AAAA;AACA;AAEA,iHACO,MAAMA,oBAAAA,GAAuB;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../screens/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAQ7C,eAAO,MAAM,cAAc,EAAE,MAAM,EAQhC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { LayoutName } from '@cratis/scene.blueprint.default';
|
|
2
|
+
import { vendorsScreenDefinitions } from '../vendorsScreenSet.js';
|
|
3
|
+
|
|
4
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
5
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
6
|
+
/**
|
|
7
|
+
* The ready-to-use screens: real `Screen` instances, one for each entry of the manifest's `blueprint.screenSet`, each filling the screen template it names in
|
|
8
|
+
* the foundation's application shell. A new application that adopts the blueprint gets these, wired into its navigation (`vendorsNavigation`).
|
|
9
|
+
*/ const vendorsScreens = vendorsScreenDefinitions.map((definition)=>({
|
|
10
|
+
name: definition.name,
|
|
11
|
+
layout: LayoutName.AppShell,
|
|
12
|
+
screenTemplate: definition.template,
|
|
13
|
+
slotContent: {},
|
|
14
|
+
forms: [],
|
|
15
|
+
contributions: [],
|
|
16
|
+
path: definition.name.split('.')
|
|
17
|
+
}));
|
|
18
|
+
|
|
19
|
+
export { vendorsScreens };
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../screens/index.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { Screen } from '@cratis/scene.model';\nimport { LayoutName } from '@cratis/scene.blueprint.default';\nimport { vendorsScreenDefinitions } from '../vendorsScreenSet';\n\n/**\n * The ready-to-use screens: real `Screen` instances, one for each entry of the manifest's `blueprint.screenSet`, each filling the screen template it names in\n * the foundation's application shell. A new application that adopts the blueprint gets these, wired into its navigation (`vendorsNavigation`).\n */\nexport const vendorsScreens: Screen[] = vendorsScreenDefinitions.map(definition => ({\n name: definition.name,\n layout: LayoutName.AppShell,\n screenTemplate: definition.template,\n slotContent: {},\n forms: [],\n contributions: [],\n path: definition.name.split('.'),\n}));\n"],"names":["vendorsScreens","vendorsScreenDefinitions","map","definition","name","layout","LayoutName","AppShell","screenTemplate","template","slotContent","forms","contributions","path","split"],"mappings":";;;AAAA;AACA;AAMA;;;UAIaA,cAAAA,GAA2BC,wBAAAA,CAAyBC,GAAG,CAACC,CAAAA,cAAe;AAChFC,QAAAA,IAAAA,EAAMD,WAAWC,IAAI;AACrBC,QAAAA,MAAAA,EAAQC,WAAWC,QAAQ;AAC3BC,QAAAA,cAAAA,EAAgBL,WAAWM,QAAQ;AACnCC,QAAAA,WAAAA,EAAa,EAAC;AACdC,QAAAA,KAAAA,EAAO,EAAE;AACTC,QAAAA,aAAAA,EAAe,EAAE;AACjBC,QAAAA,IAAAA,EAAMV,UAAAA,CAAWC,IAAI,CAACU,KAAK,CAAC,GAAA;AAChC,KAAA,CAAA;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateProvenance.d.ts","sourceRoot":"","sources":["../../templateProvenance.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,eAAO,MAAM,yBAAyB,EAAE,IAAI,CAAC,gBAAgB,EAAE,eAAe,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,CAQxH,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
/** The compatibility, attribution and license metadata every template this blueprint ships carries. */ const vendorsTemplateProvenance = {
|
|
4
|
+
compatibility: {
|
|
5
|
+
scene: '^4.13.0',
|
|
6
|
+
packages: [
|
|
7
|
+
{
|
|
8
|
+
name: 'Cratis.Blueprint.Default',
|
|
9
|
+
versionRange: '^1.0.0'
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
attribution: {
|
|
14
|
+
author: 'Cratis',
|
|
15
|
+
url: 'https://github.com/Cratis/Scene/tree/main/Source/JavaScript/blueprint.vendors'
|
|
16
|
+
},
|
|
17
|
+
license: 'MIT',
|
|
18
|
+
licenseUrl: 'https://github.com/Cratis/Scene/blob/main/LICENSE'
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export { vendorsTemplateProvenance };
|
|
22
|
+
//# sourceMappingURL=templateProvenance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateProvenance.js","sources":["../../templateProvenance.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { TemplateMetadata } from '@cratis/scene.model';\n\n/** The compatibility, attribution and license metadata every template this blueprint ships carries. */\nexport const vendorsTemplateProvenance: Pick<TemplateMetadata, 'compatibility' | 'attribution' | 'license' | 'licenseUrl'> = {\n compatibility: {\n scene: '^4.13.0',\n packages: [{ name: 'Cratis.Blueprint.Default', versionRange: '^1.0.0' }],\n },\n attribution: { author: 'Cratis', url: 'https://github.com/Cratis/Scene/tree/main/Source/JavaScript/blueprint.vendors' },\n license: 'MIT',\n licenseUrl: 'https://github.com/Cratis/Scene/blob/main/LICENSE',\n};\n"],"names":["vendorsTemplateProvenance","compatibility","scene","packages","name","versionRange","attribution","author","url","license","licenseUrl"],"mappings":"AAAA;AACA;AAIA,wGACO,MAAMA,yBAAAA,GAAgH;IACzHC,aAAAA,EAAe;QACXC,KAAAA,EAAO,SAAA;QACPC,QAAAA,EAAU;AAAC,YAAA;gBAAEC,IAAAA,EAAM,0BAAA;gBAA4BC,YAAAA,EAAc;AAAS;AAAE;AAC5E,KAAA;IACAC,WAAAA,EAAa;QAAEC,MAAAA,EAAQ,QAAA;QAAUC,GAAAA,EAAK;AAAgF,KAAA;IACtHC,OAAAA,EAAS,KAAA;IACTC,UAAAA,EAAY;AAChB;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boardTemplate.d.ts","sourceRoot":"","sources":["../../../templates/boardTemplate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAiB,MAAM,qBAAqB,CAAC;AA+CpE,eAAO,MAAM,yBAAyB,gBAGpC,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { TemplateScope } from '@cratis/scene.model';
|
|
2
|
+
import { boardScreenTemplate, component } from '@cratis/scene.blueprint.default';
|
|
3
|
+
import { localeOfData, fromQuery, vendorsQueriesOf, VendorsQuery, VendorsEntityKind } from '../vendorsQueries.js';
|
|
4
|
+
import { vendorsMetadata, withBehaviors, opensDialog, actionButton } from '../vendorsParts.js';
|
|
5
|
+
|
|
6
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
7
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
8
|
+
/**
|
|
9
|
+
* One board: the foundation `BoardScreen` with a column for each step and a card for each record. A card moves to another step by dragging or by its own Move-to menu,
|
|
10
|
+
* and a column says in words when its limit is exceeded.
|
|
11
|
+
*/ function boardOf(options) {
|
|
12
|
+
const id = options.name;
|
|
13
|
+
return {
|
|
14
|
+
name: options.name,
|
|
15
|
+
fitsSlot: 'content',
|
|
16
|
+
slots: boardScreenTemplate.slots,
|
|
17
|
+
arrangement: boardScreenTemplate.arrangement,
|
|
18
|
+
content: {
|
|
19
|
+
header: [
|
|
20
|
+
component(`${id}-header`, 'pageHeader', {
|
|
21
|
+
title: options.title,
|
|
22
|
+
subtitle: options.subtitle
|
|
23
|
+
}, {
|
|
24
|
+
actions: [
|
|
25
|
+
withBehaviors(actionButton(`${id}-new`, options.primary.label, 'primary'), opensDialog(options.primary.dialog))
|
|
26
|
+
]
|
|
27
|
+
})
|
|
28
|
+
],
|
|
29
|
+
toolbar: [
|
|
30
|
+
component(`${id}-search`, 'globalSearch', {
|
|
31
|
+
placeholder: options.searchLabel,
|
|
32
|
+
label: options.searchLabel
|
|
33
|
+
}),
|
|
34
|
+
component(`${id}-views`, 'savedViewsMenu', {
|
|
35
|
+
views: fromQuery(vendorsQueriesOf(options.entity).views),
|
|
36
|
+
savePermission: 'enabled',
|
|
37
|
+
managePermission: 'enabled'
|
|
38
|
+
})
|
|
39
|
+
],
|
|
40
|
+
board: [
|
|
41
|
+
component(`${id}-columns`, 'kanbanBoard', {
|
|
42
|
+
columns: fromQuery(options.columns),
|
|
43
|
+
cards: fromQuery(options.cards),
|
|
44
|
+
editPermission: 'enabled',
|
|
45
|
+
label: options.label,
|
|
46
|
+
...localeOfData
|
|
47
|
+
})
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
displayName: options.displayName,
|
|
51
|
+
description: options.description,
|
|
52
|
+
metadata: vendorsMetadata(options.name, 'Board', [
|
|
53
|
+
TemplateScope.Module,
|
|
54
|
+
TemplateScope.Feature
|
|
55
|
+
])
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/** The onboarding board: a column for each step a vendor goes through and a card for each vendor with its category and country. */ const vendorsOnboardingTemplate = boardOf({
|
|
59
|
+
name: 'VendorsOnboardingBoard',
|
|
60
|
+
displayName: 'Vendors onboarding board',
|
|
61
|
+
description: 'Vendors as cards in a column for each onboarding step, moved by dragging or by menu.',
|
|
62
|
+
title: 'Onboarding',
|
|
63
|
+
subtitle: 'Drag a vendor to its next step',
|
|
64
|
+
searchLabel: 'Search the board',
|
|
65
|
+
label: 'Vendors by onboarding step',
|
|
66
|
+
entity: VendorsEntityKind.Vendor,
|
|
67
|
+
columns: VendorsQuery.OnboardingColumns,
|
|
68
|
+
cards: VendorsQuery.OnboardingCards,
|
|
69
|
+
primary: {
|
|
70
|
+
label: 'New vendor',
|
|
71
|
+
dialog: 'VendorsQuickCreateVendor'
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
export { vendorsOnboardingTemplate };
|
|
76
|
+
//# sourceMappingURL=boardTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boardTemplate.js","sources":["../../../templates/boardTemplate.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ScreenTemplate, TemplateScope } from '@cratis/scene.model';\nimport { boardScreenTemplate } from '@cratis/scene.blueprint.default';\nimport { VendorsEntityKind, VendorsQuery, fromQuery, localeOfData, vendorsQueriesOf } from '../vendorsQueries';\nimport { actionButton, component, vendorsMetadata, opensDialog, withBehaviors } from '../vendorsParts';\n\ninterface BoardOptions {\n name: string;\n displayName: string;\n description: string;\n title: string;\n subtitle: string;\n searchLabel: string;\n label: string;\n entity: VendorsEntityKind;\n columns: string;\n cards: string;\n primary: { label: string; dialog: string };\n}\n\n/**\n * One board: the foundation `BoardScreen` with a column for each step and a card for each record. A card moves to another step by dragging or by its own Move-to menu,\n * and a column says in words when its limit is exceeded.\n */\nfunction boardOf(options: BoardOptions): ScreenTemplate {\n const id = options.name;\n return {\n name: options.name,\n fitsSlot: 'content',\n slots: boardScreenTemplate.slots,\n arrangement: boardScreenTemplate.arrangement,\n content: {\n header: [component(`${id}-header`, 'pageHeader', { title: options.title, subtitle: options.subtitle }, {\n actions: [withBehaviors(actionButton(`${id}-new`, options.primary.label, 'primary'), opensDialog(options.primary.dialog))],\n })],\n toolbar: [\n component(`${id}-search`, 'globalSearch', { placeholder: options.searchLabel, label: options.searchLabel }),\n component(`${id}-views`, 'savedViewsMenu', { views: fromQuery(vendorsQueriesOf(options.entity).views), savePermission: 'enabled', managePermission: 'enabled' }),\n ],\n board: [component(`${id}-columns`, 'kanbanBoard', { columns: fromQuery(options.columns), cards: fromQuery(options.cards), editPermission: 'enabled', label: options.label, ...localeOfData })],\n },\n displayName: options.displayName,\n description: options.description,\n metadata: vendorsMetadata(options.name, 'Board', [TemplateScope.Module, TemplateScope.Feature]),\n };\n}\n\n/** The onboarding board: a column for each step a vendor goes through and a card for each vendor with its category and country. */\nexport const vendorsOnboardingTemplate = boardOf({\n name: 'VendorsOnboardingBoard', displayName: 'Vendors onboarding board', description: 'Vendors as cards in a column for each onboarding step, moved by dragging or by menu.', title: 'Onboarding', subtitle: 'Drag a vendor to its next step', searchLabel: 'Search the board', label: 'Vendors by onboarding step',\n entity: VendorsEntityKind.Vendor, columns: VendorsQuery.OnboardingColumns, cards: VendorsQuery.OnboardingCards, primary: { label: 'New vendor', dialog: 'VendorsQuickCreateVendor' },\n});\n"],"names":["boardOf","options","id","name","fitsSlot","slots","boardScreenTemplate","arrangement","content","header","component","title","subtitle","actions","withBehaviors","actionButton","primary","label","opensDialog","dialog","toolbar","placeholder","searchLabel","views","fromQuery","vendorsQueriesOf","entity","savePermission","managePermission","board","columns","cards","editPermission","localeOfData","displayName","description","metadata","vendorsMetadata","TemplateScope","Module","Feature","vendorsOnboardingTemplate","VendorsEntityKind","Vendor","VendorsQuery","OnboardingColumns","OnboardingCards"],"mappings":";;;;;AAAA;AACA;AAqBA;;;IAIA,SAASA,QAAQC,OAAqB,EAAA;IAClC,MAAMC,EAAAA,GAAKD,QAAQE,IAAI;IACvB,OAAO;AACHA,QAAAA,IAAAA,EAAMF,QAAQE,IAAI;QAClBC,QAAAA,EAAU,SAAA;AACVC,QAAAA,KAAAA,EAAOC,oBAAoBD,KAAK;AAChCE,QAAAA,WAAAA,EAAaD,oBAAoBC,WAAW;QAC5CC,OAAAA,EAAS;YACLC,MAAAA,EAAQ;AAACC,gBAAAA,SAAAA,CAAU,CAAA,EAAGR,EAAAA,CAAG,OAAO,CAAC,EAAE,YAAA,EAAc;AAAES,oBAAAA,KAAAA,EAAOV,QAAQU,KAAK;AAAEC,oBAAAA,QAAAA,EAAUX,QAAQW;iBAAS,EAAG;oBACnGC,OAAAA,EAAS;AAACC,wBAAAA,aAAAA,CAAcC,aAAa,CAAA,EAAGb,EAAAA,CAAG,IAAI,CAAC,EAAED,OAAAA,CAAQe,OAAO,CAACC,KAAK,EAAE,SAAA,CAAA,EAAYC,WAAAA,CAAYjB,OAAAA,CAAQe,OAAO,CAACG,MAAM,CAAA;AAAG;AAC9H,iBAAA;AAAG,aAAA;YACHC,OAAAA,EAAS;AACLV,gBAAAA,SAAAA,CAAU,CAAA,EAAGR,EAAAA,CAAG,OAAO,CAAC,EAAE,cAAA,EAAgB;AAAEmB,oBAAAA,WAAAA,EAAapB,QAAQqB,WAAW;AAAEL,oBAAAA,KAAAA,EAAOhB,QAAQqB;AAAY,iBAAA,CAAA;AACzGZ,gBAAAA,SAAAA,CAAU,CAAA,EAAGR,EAAAA,CAAG,MAAM,CAAC,EAAE,gBAAA,EAAkB;AAAEqB,oBAAAA,KAAAA,EAAOC,SAAAA,CAAUC,gBAAAA,CAAiBxB,OAAAA,CAAQyB,MAAM,EAAEH,KAAK,CAAA;oBAAGI,cAAAA,EAAgB,SAAA;oBAAWC,gBAAAA,EAAkB;AAAU,iBAAA;AACjK,aAAA;YACDC,KAAAA,EAAO;AAACnB,gBAAAA,SAAAA,CAAU,CAAA,EAAGR,EAAAA,CAAG,QAAQ,CAAC,EAAE,aAAA,EAAe;oBAAE4B,OAAAA,EAASN,SAAAA,CAAUvB,QAAQ6B,OAAO,CAAA;oBAAGC,KAAAA,EAAOP,SAAAA,CAAUvB,QAAQ8B,KAAK,CAAA;oBAAGC,cAAAA,EAAgB,SAAA;AAAWf,oBAAAA,KAAAA,EAAOhB,QAAQgB,KAAK;AAAE,oBAAA,GAAGgB;AAAa,iBAAA;AAAG;AAClM,SAAA;AACAC,QAAAA,WAAAA,EAAajC,QAAQiC,WAAW;AAChCC,QAAAA,WAAAA,EAAalC,QAAQkC,WAAW;AAChCC,QAAAA,QAAAA,EAAUC,eAAAA,CAAgBpC,OAAAA,CAAQE,IAAI,EAAE,OAAA,EAAS;AAACmC,YAAAA,aAAAA,CAAcC,MAAM;AAAED,YAAAA,aAAAA,CAAcE;AAAQ,SAAA;AAClG,KAAA;AACJ;AAEA,oIACO,MAAMC,yBAAAA,GAA4BzC,OAAAA,CAAQ;IAC7CG,IAAAA,EAAM,wBAAA;IAA0B+B,WAAAA,EAAa,0BAAA;IAA4BC,WAAAA,EAAa,sFAAA;IAAwFxB,KAAAA,EAAO,YAAA;IAAcC,QAAAA,EAAU,gCAAA;IAAkCU,WAAAA,EAAa,kBAAA;IAAoBL,KAAAA,EAAO,4BAAA;AACvRS,IAAAA,MAAAA,EAAQgB,kBAAkBC,MAAM;AAAEb,IAAAA,OAAAA,EAASc,aAAaC,iBAAiB;AAAEd,IAAAA,KAAAA,EAAOa,aAAaE,eAAe;IAAE9B,OAAAA,EAAS;QAAEC,KAAAA,EAAO,YAAA;QAAcE,MAAAA,EAAQ;AAA2B;AACvL,CAAA;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboardTemplates.d.ts","sourceRoot":"","sources":["../../../templates/dashboardTemplates.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAiB,MAAM,qBAAqB,CAAC;AA0DpE,eAAO,MAAM,0BAA0B,gBAcrC,CAAC"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { TemplateScope } from '@cratis/scene.model';
|
|
2
|
+
import { dashboardScreenTemplate, component } from '@cratis/scene.blueprint.default';
|
|
3
|
+
import { localeOfData, fromQuery, currencyOfData, VendorsQuery, vendorsQueriesOf, VendorsEntityKind } from '../vendorsQueries.js';
|
|
4
|
+
import { vendorsMetadata, withBehaviors, opensDialog, goesTo, actionButton } from '../vendorsParts.js';
|
|
5
|
+
|
|
6
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
7
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
8
|
+
/**
|
|
9
|
+
* One dashboard: the foundation `DashboardScreen` - key figures over two charts, a table beneath and a list beside - with every region its own component with its own
|
|
10
|
+
* loading, empty and error states, so one failed query leaves the others on the page.
|
|
11
|
+
*/ function dashboardOf(options) {
|
|
12
|
+
const id = options.name;
|
|
13
|
+
return {
|
|
14
|
+
name: options.name,
|
|
15
|
+
fitsSlot: 'content',
|
|
16
|
+
slots: dashboardScreenTemplate.slots,
|
|
17
|
+
arrangement: dashboardScreenTemplate.arrangement,
|
|
18
|
+
content: {
|
|
19
|
+
header: [
|
|
20
|
+
component(`${id}-header`, 'pageHeader', {
|
|
21
|
+
title: options.title,
|
|
22
|
+
subtitle: options.subtitle
|
|
23
|
+
}, {
|
|
24
|
+
actions: options.actions.map((action)=>withBehaviors(actionButton(`${id}-${action.id}`, action.label, action.emphasis), action.dialog ? opensDialog(action.dialog) : goesTo(action.screen)))
|
|
25
|
+
})
|
|
26
|
+
],
|
|
27
|
+
kpis: options.figures.map((figure)=>component(`${id}-${figure.id}`, 'statCard', {
|
|
28
|
+
label: figure.label,
|
|
29
|
+
value: fromQuery(figure.query, `${figure.index}.value`),
|
|
30
|
+
change: fromQuery(figure.query, `${figure.index}.change`),
|
|
31
|
+
comparison: figure.comparison,
|
|
32
|
+
...figure.format ? {
|
|
33
|
+
format: figure.format
|
|
34
|
+
} : {},
|
|
35
|
+
...figure.fractionDigits === undefined ? {} : {
|
|
36
|
+
fractionDigits: figure.fractionDigits
|
|
37
|
+
},
|
|
38
|
+
...figure.goodDirection ? {
|
|
39
|
+
goodDirection: figure.goodDirection
|
|
40
|
+
} : {},
|
|
41
|
+
...currencyOfData
|
|
42
|
+
})),
|
|
43
|
+
charts: options.charts.map((chart)=>component(`${id}-${chart.id}`, 'chartWrapper', {
|
|
44
|
+
title: chart.title,
|
|
45
|
+
kind: chart.kind,
|
|
46
|
+
categories: fromQuery(chart.query, '0.categories'),
|
|
47
|
+
series: fromQuery(chart.query, '0.series'),
|
|
48
|
+
...localeOfData
|
|
49
|
+
})),
|
|
50
|
+
tables: [
|
|
51
|
+
component(`${id}-table`, 'dataList', {
|
|
52
|
+
label: options.table.label,
|
|
53
|
+
rows: fromQuery(options.table.rows),
|
|
54
|
+
columns: fromQuery(options.table.columns),
|
|
55
|
+
titleField: options.table.titleField,
|
|
56
|
+
pageSize: options.table.pageSize,
|
|
57
|
+
...localeOfData
|
|
58
|
+
})
|
|
59
|
+
],
|
|
60
|
+
aside: [
|
|
61
|
+
options.aside.kind === 'activity' ? component(`${id}-aside`, 'activityFeed', {
|
|
62
|
+
label: options.aside.label,
|
|
63
|
+
entries: fromQuery(options.aside.query),
|
|
64
|
+
...localeOfData
|
|
65
|
+
}) : component(`${id}-aside`, 'checklistSection', {
|
|
66
|
+
label: options.aside.label,
|
|
67
|
+
sections: fromQuery(options.aside.query),
|
|
68
|
+
...localeOfData
|
|
69
|
+
})
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
displayName: options.displayName,
|
|
73
|
+
description: options.description,
|
|
74
|
+
metadata: vendorsMetadata(options.name, 'Dashboard', [
|
|
75
|
+
TemplateScope.Module,
|
|
76
|
+
TemplateScope.Feature
|
|
77
|
+
])
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/** The performance dashboard: three key figures over two charts - spend by category and on-time delivery - with the vendors beneath and the latest activity beside them. */ const vendorsPerformanceTemplate = dashboardOf({
|
|
81
|
+
name: 'VendorsPerformance',
|
|
82
|
+
displayName: 'Vendors performance',
|
|
83
|
+
description: 'Active vendors, spend this year, on-time delivery, spend by category, delivery over the quarters and the vendors to watch.',
|
|
84
|
+
title: 'Vendor performance',
|
|
85
|
+
subtitle: 'Spend and delivery this year',
|
|
86
|
+
figures: [
|
|
87
|
+
{
|
|
88
|
+
id: 'active',
|
|
89
|
+
label: 'Active vendors',
|
|
90
|
+
query: VendorsQuery.Kpis,
|
|
91
|
+
index: 0,
|
|
92
|
+
comparison: 'last year'
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
id: 'spend',
|
|
96
|
+
label: 'Spend this year',
|
|
97
|
+
query: VendorsQuery.Kpis,
|
|
98
|
+
index: 1,
|
|
99
|
+
format: 'currency',
|
|
100
|
+
fractionDigits: 0,
|
|
101
|
+
comparison: 'last year'
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
id: 'ontime',
|
|
105
|
+
label: 'On-time delivery',
|
|
106
|
+
query: VendorsQuery.Kpis,
|
|
107
|
+
index: 2,
|
|
108
|
+
format: 'percent',
|
|
109
|
+
comparison: 'last quarter'
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
charts: [
|
|
113
|
+
{
|
|
114
|
+
id: 'spend-chart',
|
|
115
|
+
title: 'Spend by category',
|
|
116
|
+
kind: 'bar',
|
|
117
|
+
query: VendorsQuery.SpendByCategory
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
id: 'ontime-chart',
|
|
121
|
+
title: 'On-time delivery',
|
|
122
|
+
kind: 'line',
|
|
123
|
+
query: VendorsQuery.OnTimeDelivery
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
table: {
|
|
127
|
+
label: 'Vendors',
|
|
128
|
+
titleField: 'name',
|
|
129
|
+
pageSize: 5,
|
|
130
|
+
rows: vendorsQueriesOf(VendorsEntityKind.Vendor).rows,
|
|
131
|
+
columns: vendorsQueriesOf(VendorsEntityKind.Vendor).columns
|
|
132
|
+
},
|
|
133
|
+
aside: {
|
|
134
|
+
kind: 'activity',
|
|
135
|
+
label: 'Latest activity',
|
|
136
|
+
query: VendorsQuery.Activity
|
|
137
|
+
},
|
|
138
|
+
actions: [
|
|
139
|
+
{
|
|
140
|
+
id: 'vendors',
|
|
141
|
+
label: 'Open the vendors',
|
|
142
|
+
emphasis: 'secondary',
|
|
143
|
+
screen: 'vendors.list'
|
|
144
|
+
}
|
|
145
|
+
]
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
export { vendorsPerformanceTemplate };
|
|
149
|
+
//# sourceMappingURL=dashboardTemplates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboardTemplates.js","sources":["../../../templates/dashboardTemplates.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ScreenTemplate, TemplateScope } from '@cratis/scene.model';\nimport { dashboardScreenTemplate } from '@cratis/scene.blueprint.default';\nimport { VendorsEntityKind, VendorsQuery, currencyOfData, fromQuery, localeOfData, vendorsQueriesOf } from '../vendorsQueries';\nimport { actionButton, component, goesTo, vendorsMetadata, opensDialog, withBehaviors } from '../vendorsParts';\n\ninterface KeyFigure { id: string; label: string; query: string; index: number; format?: 'currency' | 'percent'; fractionDigits?: number; goodDirection?: 'up' | 'down'; comparison: string }\ninterface Chart { id: string; title: string; kind: 'bar' | 'line' | 'donut' | 'funnel'; query: string }\ninterface Action { id: string; label: string; emphasis: 'primary' | 'secondary' | 'quiet' | 'danger'; dialog?: string; screen?: string }\n\ninterface DashboardOptions {\n name: string;\n displayName: string;\n description: string;\n title: string;\n subtitle: string;\n figures: KeyFigure[];\n charts: Chart[];\n table: { label: string; rows: string; columns: string; titleField: string; pageSize: number };\n aside: { kind: 'activity'; label: string; query: string } | { kind: 'checklist'; label: string; query: string };\n actions: Action[];\n}\n\n/**\n * One dashboard: the foundation `DashboardScreen` - key figures over two charts, a table beneath and a list beside - with every region its own component with its own\n * loading, empty and error states, so one failed query leaves the others on the page.\n */\nfunction dashboardOf(options: DashboardOptions): ScreenTemplate {\n const id = options.name;\n return {\n name: options.name,\n fitsSlot: 'content',\n slots: dashboardScreenTemplate.slots,\n arrangement: dashboardScreenTemplate.arrangement,\n content: {\n header: [component(`${id}-header`, 'pageHeader', { title: options.title, subtitle: options.subtitle }, {\n actions: options.actions.map(action => withBehaviors(actionButton(`${id}-${action.id}`, action.label, action.emphasis), action.dialog ? opensDialog(action.dialog) : goesTo(action.screen!))),\n })],\n kpis: options.figures.map(figure => component(`${id}-${figure.id}`, 'statCard', {\n label: figure.label, value: fromQuery(figure.query, `${figure.index}.value`), change: fromQuery(figure.query, `${figure.index}.change`), comparison: figure.comparison,\n ...(figure.format ? { format: figure.format } : {}), ...(figure.fractionDigits === undefined ? {} : { fractionDigits: figure.fractionDigits }), ...(figure.goodDirection ? { goodDirection: figure.goodDirection } : {}), ...currencyOfData,\n })),\n charts: options.charts.map(chart => component(`${id}-${chart.id}`, 'chartWrapper', {\n title: chart.title, kind: chart.kind, categories: fromQuery(chart.query, '0.categories'), series: fromQuery(chart.query, '0.series'), ...localeOfData,\n })),\n tables: [component(`${id}-table`, 'dataList', {\n label: options.table.label, rows: fromQuery(options.table.rows), columns: fromQuery(options.table.columns), titleField: options.table.titleField, pageSize: options.table.pageSize, ...localeOfData,\n })],\n aside: [options.aside.kind === 'activity'\n ? component(`${id}-aside`, 'activityFeed', { label: options.aside.label, entries: fromQuery(options.aside.query), ...localeOfData })\n : component(`${id}-aside`, 'checklistSection', { label: options.aside.label, sections: fromQuery(options.aside.query), ...localeOfData })],\n },\n displayName: options.displayName,\n description: options.description,\n metadata: vendorsMetadata(options.name, 'Dashboard', [TemplateScope.Module, TemplateScope.Feature]),\n };\n}\n\n/** The performance dashboard: three key figures over two charts - spend by category and on-time delivery - with the vendors beneath and the latest activity beside them. */\nexport const vendorsPerformanceTemplate = dashboardOf({\n name: 'VendorsPerformance', displayName: 'Vendors performance', description: 'Active vendors, spend this year, on-time delivery, spend by category, delivery over the quarters and the vendors to watch.', title: 'Vendor performance', subtitle: 'Spend and delivery this year',\n figures: [\n { id: 'active', label: 'Active vendors', query: VendorsQuery.Kpis, index: 0, comparison: 'last year' },\n { id: 'spend', label: 'Spend this year', query: VendorsQuery.Kpis, index: 1, format: 'currency', fractionDigits: 0, comparison: 'last year' },\n { id: 'ontime', label: 'On-time delivery', query: VendorsQuery.Kpis, index: 2, format: 'percent', comparison: 'last quarter' },\n ],\n charts: [\n { id: 'spend-chart', title: 'Spend by category', kind: 'bar', query: VendorsQuery.SpendByCategory },\n { id: 'ontime-chart', title: 'On-time delivery', kind: 'line', query: VendorsQuery.OnTimeDelivery },\n ],\n table: { label: 'Vendors', titleField: 'name', pageSize: 5, rows: vendorsQueriesOf(VendorsEntityKind.Vendor).rows, columns: vendorsQueriesOf(VendorsEntityKind.Vendor).columns },\n aside: { kind: 'activity', label: 'Latest activity', query: VendorsQuery.Activity },\n actions: [{ id: 'vendors', label: 'Open the vendors', emphasis: 'secondary', screen: 'vendors.list' }],\n});\n"],"names":["dashboardOf","options","id","name","fitsSlot","slots","dashboardScreenTemplate","arrangement","content","header","component","title","subtitle","actions","map","action","withBehaviors","actionButton","label","emphasis","dialog","opensDialog","goesTo","screen","kpis","figures","figure","value","fromQuery","query","index","change","comparison","format","fractionDigits","undefined","goodDirection","currencyOfData","charts","chart","kind","categories","series","localeOfData","tables","table","rows","columns","titleField","pageSize","aside","entries","sections","displayName","description","metadata","vendorsMetadata","TemplateScope","Module","Feature","vendorsPerformanceTemplate","VendorsQuery","Kpis","SpendByCategory","OnTimeDelivery","vendorsQueriesOf","VendorsEntityKind","Vendor","Activity"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formTemplates.d.ts","sourceRoot":"","sources":["../../../templates/formTemplates.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAiB,MAAM,qBAAqB,CAAC;AA2BpE,eAAO,MAAM,cAAc,EAAE,cAAc,EAE1C,CAAC"}
|