@lilaquadrat/cli 0.9.5 → 0.9.7
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/lib/functions/template.js +3 -0
- package/lib/functions/template.js.map +1 -1
- package/lib/package.json +13 -4
- package/lib/src/definitions.js +9 -0
- package/lib/src/definitions.js.map +1 -1
- package/package.json +13 -4
- package/source/apps/app.ts.hbs +2 -2
- package/source/apps/de.ts.hbs +5 -4
- package/source/apps/home.screen.vue.hbs +274 -3
- package/source/apps/main-state.interface.ts.hbs +16 -2
- package/source/apps/main.store.ts.hbs +89 -3
- package/source/apps/routes.ts.hbs +17 -3
- package/source/apps/single.screen.vue.hbs +69 -0
|
@@ -39,6 +39,9 @@ const copy = (source, target) => {
|
|
|
39
39
|
};
|
|
40
40
|
const render = (variables, folder, file) => {
|
|
41
41
|
const template = handlebars_1.default.compile(fs_1.default.readFileSync(`${__dirname}/../../source/${folder}/${file}`).toString());
|
|
42
|
+
handlebars_1.default.registerHelper('curly', function (object, open) {
|
|
43
|
+
return open ? '{{' : '}}';
|
|
44
|
+
});
|
|
42
45
|
return template({
|
|
43
46
|
...variables,
|
|
44
47
|
nameUppercase: `${variables.name?.slice(0, 1).toUpperCase()}${variables.name?.slice(1)}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../functions/template.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../functions/template.ts"],"names":[],"mappings":"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"}
|
package/lib/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lilaquadrat/cli",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.7",
|
|
4
4
|
"description": "CLI for studio app and studio renderer",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://lilaquadrat.de",
|
|
@@ -11,8 +11,10 @@
|
|
|
11
11
|
},
|
|
12
12
|
"scripts": {
|
|
13
13
|
"build": "tsc",
|
|
14
|
+
"start": "tsc --watch",
|
|
14
15
|
"prepublish": "tsc",
|
|
15
|
-
"cli": "node lib/src/index.js"
|
|
16
|
+
"cli": "node lib/src/index.js",
|
|
17
|
+
"release": "standard-version"
|
|
16
18
|
},
|
|
17
19
|
"engines": {
|
|
18
20
|
"node": ">=14",
|
|
@@ -25,12 +27,14 @@
|
|
|
25
27
|
"@types/node": "^18.16.0",
|
|
26
28
|
"@typescript-eslint/eslint-plugin": "^5.59.0",
|
|
27
29
|
"@typescript-eslint/parser": "^5.59.0",
|
|
30
|
+
"cz-conventional-changelog": "^3.3.0",
|
|
28
31
|
"eslint": "^8.39.0",
|
|
29
32
|
"eslint-config-airbnb-base": "15.0.0",
|
|
30
33
|
"eslint-config-airbnb-typescript": "^17.0.0",
|
|
31
34
|
"eslint-import-resolver-typescript": "^3.5.5",
|
|
32
35
|
"eslint-plugin-import": "^2.27.5",
|
|
33
|
-
"eslint-plugin-promise": "^6.1.1"
|
|
36
|
+
"eslint-plugin-promise": "^6.1.1",
|
|
37
|
+
"standard-version": "^9.5.0"
|
|
34
38
|
},
|
|
35
39
|
"dependencies": {
|
|
36
40
|
"archiver": "^5.3.1",
|
|
@@ -54,5 +58,10 @@
|
|
|
54
58
|
"lila": "lib/src/index.js"
|
|
55
59
|
},
|
|
56
60
|
"exports": "./lib/src/index.js",
|
|
57
|
-
"types": "lib/src/index.d.ts"
|
|
61
|
+
"types": "lib/src/index.d.ts",
|
|
62
|
+
"config": {
|
|
63
|
+
"commitizen": {
|
|
64
|
+
"path": "./node_modules/cz-conventional-changelog"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
58
67
|
}
|
package/lib/src/definitions.js
CHANGED
|
@@ -31,6 +31,15 @@ exports.default = {
|
|
|
31
31
|
subfolder: true,
|
|
32
32
|
},
|
|
33
33
|
},
|
|
34
|
+
{
|
|
35
|
+
template: 'single.screen.vue.hbs',
|
|
36
|
+
extension: 'single.screen.vue',
|
|
37
|
+
target: 'screens',
|
|
38
|
+
options: {
|
|
39
|
+
noPreName: true,
|
|
40
|
+
subfolder: true,
|
|
41
|
+
},
|
|
42
|
+
},
|
|
34
43
|
{
|
|
35
44
|
template: 'routes.ts.hbs',
|
|
36
45
|
extension: 'routes.ts',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,GAAG,EAAE;QACH,YAAY,EAAE,MAAM;QACpB,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE;YACP,YAAY;YACZ,SAAS;YACT,UAAU;YACV,SAAS;YACT,cAAc;YACd,OAAO;YACP,YAAY;SACb;QACD,KAAK,EAAE;YACL;gBACE,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,QAAQ;gBACnB,OAAO,EAAE;oBACP,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI;iBAChB;aACF;YACD;gBACE,QAAQ,EAAE,qBAAqB;gBAC/B,SAAS,EAAE,iBAAiB;gBAC5B,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE;oBACP,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI;iBAChB;aACF;YACD;gBACE,QAAQ,EAAE,eAAe;gBACzB,SAAS,EAAE,WAAW;gBACtB,OAAO,EAAE;oBACP,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI;iBAChB;aACF;YACD;gBACE,QAAQ,EAAE,WAAW;gBACrB,SAAS,EAAE,OAAO;gBAClB,MAAM,EAAG,cAAc;gBACvB,OAAO,EAAE;oBACP,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI;iBAChB;aACF;YACD;gBACE,QAAQ,EAAE,qBAAqB;gBAC/B,SAAS,EAAE,iBAAiB;gBAC5B,MAAM,EAAG,cAAc;gBACvB,OAAO,EAAE;oBACP,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI;iBAChB;aACF;YACD;gBACE,QAAQ,EAAE,mBAAmB;gBAC7B,SAAS,EAAE,eAAe;gBAC1B,MAAM,EAAG,OAAO;gBAChB,QAAQ,EAAE;oBACR,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO,EAAE;oBACP,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI;iBAChB;aACF;YACD;gBACE,QAAQ,EAAE,6BAA6B;gBACvC,SAAS,EAAE,yBAAyB;gBACpC,MAAM,EAAG,YAAY;gBACrB,QAAQ,EAAE;oBACR,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO,EAAE;oBACP,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI;iBAChB;aACF;SACF;KACF;IACD,QAAQ,EAAE;QACR,YAAY,EAAE,UAAU;QACxB,YAAY,EAAE,UAAU;QACxB,OAAO,EAAE;YACP,SAAS,EAAE,KAAK;SACjB;QACD,KAAK,EAAE;YACL;gBACE,QAAQ,EAAE,kBAAkB;gBAC5B,SAAS,EAAE,aAAa;aACzB;SACF;KACF;IACD,OAAO,EAAE;QACP,YAAY,EAAE,SAAS;QACvB,YAAY,EAAE,SAAS;QACvB,OAAO,EAAE;YACP,SAAS,EAAE,KAAK;SACjB;QACD,KAAK,EAAE;YACL;gBACE,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,YAAY;aACxB;SACF;KACF;IACD,OAAO,EAAE;QACP,YAAY,EAAE,cAAc;QAC5B,gBAAgB,EAAE,SAAS;QAC3B,IAAI,EAAE,IAAI;QACV,KAAK,EAAE;YACL;gBACE,QAAQ,EAAE,aAAa;gBACvB,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE;oBACP,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI;iBAChB;aACF;YACD;gBACE,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,YAAY;gBACvB,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE;oBACP,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI;iBAChB;aACF;SACF;KACF;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lilaquadrat/cli",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.7",
|
|
4
4
|
"description": "CLI for studio app and studio renderer",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://lilaquadrat.de",
|
|
@@ -11,8 +11,10 @@
|
|
|
11
11
|
},
|
|
12
12
|
"scripts": {
|
|
13
13
|
"build": "tsc",
|
|
14
|
+
"start": "tsc --watch",
|
|
14
15
|
"prepublish": "tsc",
|
|
15
|
-
"cli": "node lib/src/index.js"
|
|
16
|
+
"cli": "node lib/src/index.js",
|
|
17
|
+
"release": "standard-version"
|
|
16
18
|
},
|
|
17
19
|
"engines": {
|
|
18
20
|
"node": ">=14",
|
|
@@ -25,12 +27,14 @@
|
|
|
25
27
|
"@types/node": "^18.16.0",
|
|
26
28
|
"@typescript-eslint/eslint-plugin": "^5.59.0",
|
|
27
29
|
"@typescript-eslint/parser": "^5.59.0",
|
|
30
|
+
"cz-conventional-changelog": "^3.3.0",
|
|
28
31
|
"eslint": "^8.39.0",
|
|
29
32
|
"eslint-config-airbnb-base": "15.0.0",
|
|
30
33
|
"eslint-config-airbnb-typescript": "^17.0.0",
|
|
31
34
|
"eslint-import-resolver-typescript": "^3.5.5",
|
|
32
35
|
"eslint-plugin-import": "^2.27.5",
|
|
33
|
-
"eslint-plugin-promise": "^6.1.1"
|
|
36
|
+
"eslint-plugin-promise": "^6.1.1",
|
|
37
|
+
"standard-version": "^9.5.0"
|
|
34
38
|
},
|
|
35
39
|
"dependencies": {
|
|
36
40
|
"archiver": "^5.3.1",
|
|
@@ -54,5 +58,10 @@
|
|
|
54
58
|
"lila": "lib/src/index.js"
|
|
55
59
|
},
|
|
56
60
|
"exports": "./lib/src/index.js",
|
|
57
|
-
"types": "lib/src/index.d.ts"
|
|
61
|
+
"types": "lib/src/index.d.ts",
|
|
62
|
+
"config": {
|
|
63
|
+
"commitizen": {
|
|
64
|
+
"path": "./node_modules/cz-conventional-changelog"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
58
67
|
}
|
package/source/apps/app.ts.hbs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import LoadElements from '@mixins/loadElements';
|
|
2
|
-
import InstallableApp from '
|
|
2
|
+
import InstallableApp from '../../interfaces/InstallableApp.interface';
|
|
3
3
|
import routes from './routes';
|
|
4
4
|
import translations from './translations/translations';
|
|
5
5
|
|
|
@@ -12,7 +12,7 @@ const app: InstallableApp = {
|
|
|
12
12
|
publisher: '{{publisher}}',
|
|
13
13
|
translations,
|
|
14
14
|
routes,
|
|
15
|
-
{{#if hasstore}}store: '{{nameUppercase}}',{{/if}}
|
|
15
|
+
{{#if hasstore}}store: 'App{{nameUppercase}}',{{/if}}
|
|
16
16
|
};
|
|
17
17
|
|
|
18
18
|
export default app;
|
package/source/apps/de.ts.hbs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export default {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
2
|
+
'app-{{name}}': '{{nameUppercase}}',
|
|
3
|
+
'app-{{name}}-example-key': 'app-{{name}}-example-key',
|
|
4
|
+
'app-{{name}}-add-title': '{{nameUppercase}} erstellen',
|
|
5
|
+
'app-{{name}}-title-placeholder': 'Platzhalter',
|
|
6
|
+
};
|
|
@@ -1,16 +1,287 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<article :class="navigationAnimation" class="app-{{name}}-home-screen">
|
|
3
|
-
<
|
|
3
|
+
<div class="pagenator full" v-if="content">
|
|
4
|
+
<header class="main">
|
|
5
|
+
|
|
6
|
+
<section class="stats">
|
|
7
|
+
<h1>{{curly open}} 'app-{{name}}' | translate {{curly}}</h1>
|
|
8
|
+
<h3 v-if="content.sites">
|
|
9
|
+
<template v-if="!content.sites.last">{{curly open}} content.count {{curly}}</template>
|
|
10
|
+
<template v-if="content.sites.last">{{curly open}} content.sites.range[0] {{curly}} - {{curly open}} content.sites.range[1] {{curly}} ({{curly open}} content.count {{curly}})</template>
|
|
11
|
+
/ {{curly open}} content.all {{curly}} {{curly open}} 'total' | translate {{curly}}
|
|
12
|
+
</h3>
|
|
13
|
+
</section>
|
|
14
|
+
|
|
15
|
+
<quickmenu-partial v-if="$scope(['{{name}}:create'])">
|
|
16
|
+
<router-link :title="'app-{{name}}-add' | translate" :aria-label="'app-{{name}}-add' | translate" class="main icon" :to="{ name: 'app-{{name}}-project-add' }"><icons-partial type="add" size="large" /></router-link>
|
|
17
|
+
</quickmenu-partial>
|
|
18
|
+
</header>
|
|
19
|
+
|
|
20
|
+
<quickfilter-partial reload store="App{{nameUppercase}}" useEmit @update="updateSearch" @reload="reload" />
|
|
21
|
+
<!-- quickfilter with select static options and category selection -->
|
|
22
|
+
<!--<quickfilter-partial reload category categoryType="{{name}}" store="App{{name}}" useEmit @update="updateSearch" @reload="reload">
|
|
23
|
+
<select-partial inline placeholder="app-{{name}}-type" :options="stateOptions" allowEmpty :multiple="false" :value="type" @input="updateSearch({ data: $event, type: 'type' })" />
|
|
24
|
+
</quickfilter-partial>-->
|
|
25
|
+
|
|
26
|
+
<section class="scroll-container">
|
|
27
|
+
<table class="isSticky contentHead">
|
|
28
|
+
<thead-partial :siteCurrent="currentSite" :search="$route.query.search" :sort="sort" :order="order" :content="headContent" />
|
|
29
|
+
</table>
|
|
30
|
+
|
|
31
|
+
<table class="data-switch contentTable" :class="contentAnimation">
|
|
32
|
+
<tbody>
|
|
33
|
+
<tr v-for="(single, index) in content.data" :key="`data-overview-${index}`">
|
|
34
|
+
<td class="id fullHeight action hasDescription" :class="{ hasAttribute: single.app || single.model }">
|
|
35
|
+
<router-link
|
|
36
|
+
:to="{
|
|
37
|
+
name: 'app-{{name}}-project-single',
|
|
38
|
+
params: {
|
|
39
|
+
id: single._id,
|
|
40
|
+
company: $store.state.Company.company,
|
|
41
|
+
project: $store.state.Project.project,
|
|
42
|
+
},
|
|
43
|
+
}"
|
|
44
|
+
>
|
|
45
|
+
<div>
|
|
46
|
+
<span class="description">
|
|
47
|
+
description
|
|
48
|
+
</span>
|
|
49
|
+
<span class="id">
|
|
50
|
+
is
|
|
51
|
+
</span>
|
|
52
|
+
</div>
|
|
53
|
+
</router-link>
|
|
54
|
+
</td>
|
|
55
|
+
|
|
56
|
+
<td>
|
|
57
|
+
content
|
|
58
|
+
</td>
|
|
59
|
+
|
|
60
|
+
<td>
|
|
61
|
+
content
|
|
62
|
+
</td>
|
|
63
|
+
|
|
64
|
+
</tr>
|
|
65
|
+
</tbody>
|
|
66
|
+
</table>
|
|
67
|
+
</section>
|
|
68
|
+
</div>
|
|
69
|
+
|
|
70
|
+
<modal-module />
|
|
71
|
+
|
|
4
72
|
</article>
|
|
5
73
|
</template>
|
|
6
74
|
<script lang="ts">
|
|
7
|
-
import { ExtComponent, Component } from '@libs/lila-component';
|
|
75
|
+
import { ExtComponent, Component, Watch } from '@libs/lila-component';
|
|
76
|
+
import StudioSDK, { SDKResponse } from '@libs/StudioSDK';
|
|
77
|
+
import { DataObject } from '@lilaquadrat/studio/lib/interfaces';
|
|
78
|
+
import cleanObject from '@mixins/cleanObject';
|
|
79
|
+
import hardCopy from '@mixins/hardCopy';
|
|
80
|
+
import MainStoreState from '@store/mainStoreState.interface';
|
|
81
|
+
import { Dictionary } from 'vue-router/types/router';
|
|
82
|
+
import { Store } from 'vuex';
|
|
8
83
|
|
|
9
84
|
@Component
|
|
10
85
|
export default class App{{nameUppercase}}HomeScreen extends ExtComponent {
|
|
11
86
|
|
|
12
|
-
componentName = 'app-{{name}}-home';
|
|
87
|
+
componentName = 'app-{{name}}-project-home';
|
|
88
|
+
|
|
89
|
+
headContent = [
|
|
90
|
+
{
|
|
91
|
+
key: 'name',
|
|
92
|
+
text: 'name',
|
|
93
|
+
classes: 'name',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
text: 'app-{{name}}-title-placeholder',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
text: 'app-{{name}}-title-placeholder',
|
|
100
|
+
},
|
|
101
|
+
];
|
|
102
|
+
|
|
103
|
+
//stateOptions = [
|
|
104
|
+
// {
|
|
105
|
+
// text: 'app-{{name}}-type-company',
|
|
106
|
+
// value: 'company',
|
|
107
|
+
// },
|
|
108
|
+
// {
|
|
109
|
+
// text: 'app-{{name}}-type-persons',
|
|
110
|
+
// value: 'person',
|
|
111
|
+
// },
|
|
112
|
+
//];
|
|
113
|
+
|
|
114
|
+
@Watch('$route')
|
|
115
|
+
watchRoute() {
|
|
116
|
+
|
|
117
|
+
this.setSearch();
|
|
118
|
+
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
get currentSite() {
|
|
122
|
+
|
|
123
|
+
return this.$route.params.site ? +this.$route.params.site : null;
|
|
124
|
+
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
get type() {
|
|
128
|
+
|
|
129
|
+
return this.$store.state.App{{nameUppercase}}.search?.type;
|
|
130
|
+
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
get sort() {
|
|
134
|
+
|
|
135
|
+
return this.$store.state.App{{nameUppercase}}.search?.sort;
|
|
136
|
+
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
get order() {
|
|
140
|
+
|
|
141
|
+
return this.$store.state.App{{nameUppercase}}.search?.order;
|
|
142
|
+
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
get content(): DataObject<{{nameUppercase}}[]> {
|
|
146
|
+
|
|
147
|
+
return this.$store.state.App{{nameUppercase}}.data || undefined;
|
|
148
|
+
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
mounted() {
|
|
152
|
+
|
|
153
|
+
this.setSearch();
|
|
154
|
+
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
getSearch() {
|
|
159
|
+
|
|
160
|
+
const query: Record<string, string | string[]> = {};
|
|
161
|
+
|
|
162
|
+
query.sort = this.$route.query.sort as string || 'name';
|
|
163
|
+
query.order = this.$route.query.order as string || '1';
|
|
164
|
+
|
|
165
|
+
query.tags = this.$route.query.tags || null;
|
|
166
|
+
query.type = this.$route.query.type || null;
|
|
167
|
+
query.search = this.$route.query.search || null;
|
|
168
|
+
|
|
169
|
+
return query;
|
|
170
|
+
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
setSearch() {
|
|
174
|
+
|
|
175
|
+
// only update search if the current component is used and no child is active
|
|
176
|
+
if (this.$route.name !== this.componentName) return;
|
|
177
|
+
this.$store.commit('App{{nameUppercase}}/setSearch', this.getSearch());
|
|
178
|
+
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
async updateSearch(data: {data: string, type: 'string'}) {
|
|
183
|
+
|
|
184
|
+
this.$store.commit('App{{nameUppercase}}/updateSearch', { data: data.data, type: data.type });
|
|
185
|
+
|
|
186
|
+
const query = hardCopy(this.$store.state.App{{nameUppercase}}.search);
|
|
187
|
+
|
|
188
|
+
cleanObject(query);
|
|
189
|
+
|
|
190
|
+
this.$router.push({ params: { site: '1' }, query });
|
|
191
|
+
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
async reload() {
|
|
195
|
+
|
|
196
|
+
StudioSDK.flushCache('{{nameUppercase}}', 'list');
|
|
197
|
+
|
|
198
|
+
const data = await this.$store
|
|
199
|
+
.dispatch('App{{nameUppercase}}/get', {
|
|
200
|
+
query: this.$route.query,
|
|
201
|
+
settings: {
|
|
202
|
+
project: this.$route.params.project,
|
|
203
|
+
company: this.$route.params.company,
|
|
204
|
+
site: this.$route.params.site,
|
|
205
|
+
},
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
this.$store.commit('App{{nameUppercase}}/data', data.data);
|
|
209
|
+
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// eslint-disable-next-line class-methods-use-this
|
|
213
|
+
preloadDataPre(params: Dictionary<string>, query: Dictionary<string | string[]>, store: Store<MainStoreState>) {
|
|
214
|
+
|
|
215
|
+
console.log(params, query);
|
|
216
|
+
return store
|
|
217
|
+
.dispatch('App{{nameUppercase}}/get', {
|
|
218
|
+
query,
|
|
219
|
+
settings: {
|
|
220
|
+
project: params.project,
|
|
221
|
+
company: params.company,
|
|
222
|
+
site: params.site,
|
|
223
|
+
},
|
|
224
|
+
});
|
|
225
|
+
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
// eslint-disable-next-line class-methods-use-this
|
|
229
|
+
preloadDataPost(preloadedData: SDKResponse<DataObject<{{nameUppercase}}>>, params: Dictionary<string>, query: Dictionary<string | string[]>, store: Store<MainStoreState>) {
|
|
230
|
+
|
|
231
|
+
console.log(preloadedData);
|
|
232
|
+
store.commit('App{{nameUppercase}}/data', preloadedData.data);
|
|
233
|
+
return Promise.resolve();
|
|
234
|
+
|
|
235
|
+
}
|
|
13
236
|
|
|
14
237
|
}
|
|
15
238
|
</script>
|
|
239
|
+
<style lang="less">
|
|
240
|
+
@import (reference) '/source/editor/less/_base/shared.less';
|
|
241
|
+
|
|
242
|
+
.app-{{name}}-home-screen {
|
|
243
|
+
|
|
244
|
+
table.contentTable, table.contentHead {
|
|
245
|
+
|
|
246
|
+
tr {
|
|
247
|
+
grid-template-columns: 1fr 1fr 100px;
|
|
248
|
+
|
|
249
|
+
td {
|
|
250
|
+
|
|
251
|
+
&.hasDescription {
|
|
252
|
+
|
|
253
|
+
.id {
|
|
254
|
+
display: grid;
|
|
255
|
+
color: @textColor;
|
|
256
|
+
text-transform: uppercase;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.sites-filter-container {
|
|
268
|
+
|
|
269
|
+
display: grid;
|
|
270
|
+
grid-template-columns: 1fr 1fr;
|
|
271
|
+
.multi(padding-top, 2);
|
|
272
|
+
.multi(padding-bottom, 4);
|
|
273
|
+
.basePadding;
|
|
274
|
+
|
|
275
|
+
.sites-container {
|
|
276
|
+
justify-self: end;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.select {
|
|
280
|
+
display: grid;
|
|
281
|
+
grid-template-columns: 150px 1fr;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
</style>
|
|
286
|
+
|
|
16
287
|
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { DataObject, {{nameUppercase}} } from '@lilaquadrat/studio/lib/interfaces';
|
|
2
2
|
|
|
3
|
-
export default interface App{{nameUppercase}}State
|
|
3
|
+
export default interface App{{nameUppercase}}State {
|
|
4
|
+
|
|
5
|
+
data: DataObject<{{nameUppercase}}>
|
|
6
|
+
|
|
7
|
+
search: {
|
|
8
|
+
tags?: string[]
|
|
9
|
+
search?: string
|
|
10
|
+
type?: string
|
|
11
|
+
order?: string
|
|
12
|
+
sort?: string
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
single: {{nameUppercase}}
|
|
16
|
+
|
|
17
|
+
}
|
|
@@ -1,21 +1,107 @@
|
|
|
1
1
|
import GenericStore from '@interfaces/GenericStore.interface';
|
|
2
|
+
import MainStore, { state } from '@store/main.store';
|
|
2
3
|
import App{{nameUppercase}}MainState from '../interfaces/main-state.interface';
|
|
4
|
+
import { DataObject, {{nameUppercase}} } from '@lilaquadrat/studio/lib/interfaces';
|
|
5
|
+
// import StudioSDK from '@libs/StudioSDK';
|
|
3
6
|
|
|
4
7
|
const App{{nameUppercase}}Store: GenericStore<App{{nameUppercase}}MainState> = {
|
|
5
8
|
namespaced: true,
|
|
6
9
|
strict: true,
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
sdkOptions() {
|
|
9
12
|
|
|
10
|
-
|
|
13
|
+
return {
|
|
14
|
+
authToken: state.authToken,
|
|
15
|
+
customEndpoints: MainStore.getters.endpointsSDK,
|
|
16
|
+
...MainStore.getters.companyProject,
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
state: {
|
|
23
|
+
|
|
24
|
+
data: {},
|
|
25
|
+
|
|
26
|
+
search: {
|
|
27
|
+
tags: [],
|
|
28
|
+
search: null,
|
|
29
|
+
type: null,
|
|
30
|
+
sort: '_id',
|
|
31
|
+
order: '1',
|
|
32
|
+
},
|
|
33
|
+
|
|
34
|
+
single: null,
|
|
35
|
+
|
|
36
|
+
},
|
|
37
|
+
|
|
38
|
+
mutations: {
|
|
39
|
+
|
|
40
|
+
data(store, data: DataObject<{{nameUppercase}}>) {
|
|
41
|
+
|
|
42
|
+
store.data = data;
|
|
43
|
+
|
|
44
|
+
},
|
|
45
|
+
|
|
46
|
+
single(store, data: {{nameUppercase}}) {
|
|
47
|
+
|
|
48
|
+
store.single = data;
|
|
49
|
+
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
updateSearch(app{{nameUppercase}}State, update: { data: any, type: string }) {
|
|
54
|
+
|
|
55
|
+
console.log(update, update.data.length, !update.data.length, app{{nameUppercase}}State.search);
|
|
56
|
+
|
|
57
|
+
if (!update.data.length) {
|
|
58
|
+
|
|
59
|
+
app{{nameUppercase}}State.search[update.type] = null;
|
|
60
|
+
return;
|
|
61
|
+
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
console.log(update, app{{nameUppercase}}State.search);
|
|
65
|
+
|
|
66
|
+
app{{nameUppercase}}State.search[update.type] = update.data;
|
|
67
|
+
|
|
68
|
+
},
|
|
69
|
+
|
|
70
|
+
setSearch(app{{nameUppercase}}State, search: { tags?: string[], search?: string, type?: string }) {
|
|
71
|
+
|
|
72
|
+
app{{nameUppercase}}State.search = search;
|
|
73
|
+
|
|
74
|
+
},
|
|
75
|
+
|
|
76
|
+
},
|
|
11
77
|
|
|
12
78
|
actions: {
|
|
79
|
+
// sdkListExample(store, data: {data: Test, id: string}) {
|
|
80
|
+
|
|
81
|
+
// const sdk = new StudioSDK('test-app', AppTestStore.sdkOptions());
|
|
82
|
+
|
|
83
|
+
// return sdk.test.list(data.id, data.data);
|
|
84
|
+
|
|
85
|
+
// },
|
|
86
|
+
|
|
87
|
+
get(store) {
|
|
88
|
+
|
|
89
|
+
return Promise.resolve({data: {}});
|
|
90
|
+
|
|
91
|
+
},
|
|
92
|
+
|
|
93
|
+
single(store) {
|
|
94
|
+
|
|
95
|
+
return Promise.resolve({data: {}});
|
|
96
|
+
|
|
97
|
+
},
|
|
98
|
+
|
|
13
99
|
/**
|
|
14
100
|
* This action will be called, when the app will be activated
|
|
15
101
|
*/
|
|
16
102
|
activate(store, params) {
|
|
17
103
|
|
|
18
|
-
return
|
|
104
|
+
return Promise.resolve(true);
|
|
19
105
|
|
|
20
106
|
},
|
|
21
107
|
},
|
|
@@ -8,12 +8,26 @@ const loadScreen = (screen: string) => () => import(
|
|
|
8
8
|
export default [
|
|
9
9
|
{
|
|
10
10
|
path: '/:company/:project/a/{{name}}',
|
|
11
|
-
name: 'app-{{name}}-home',
|
|
11
|
+
name: 'app-{{name}}-project-home',
|
|
12
12
|
beforeEnter: ProjectGuard,
|
|
13
13
|
component: loadScreen('home.screen.vue'),
|
|
14
14
|
meta: {
|
|
15
|
-
animationGroup: 'name',
|
|
16
|
-
app: 'name',
|
|
15
|
+
animationGroup: '{{name}}',
|
|
16
|
+
app: '{{name}}',
|
|
17
|
+
parent: true,
|
|
18
|
+
rememberSettings: true,
|
|
17
19
|
},
|
|
20
|
+
children: [
|
|
21
|
+
{
|
|
22
|
+
path: 'add',
|
|
23
|
+
component: loadScreen('single.screen.vue'),
|
|
24
|
+
name: 'app-{{name}}-project-add',
|
|
25
|
+
meta: {
|
|
26
|
+
sidescreen: true,
|
|
27
|
+
defaultRoute: 'app-{{name}}-project-add',
|
|
28
|
+
app: '{{name}}',
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
],
|
|
18
32
|
},
|
|
19
33
|
];
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<article class="app-{{name}}-single-screen" :class="navigationAnimation">
|
|
3
|
+
<side-screen-header-partial>{{curly true}}'app-{{name}}-add-title' | translate{{curly}}</side-screen-header-partial>
|
|
4
|
+
<section class="content-container">
|
|
5
|
+
|
|
6
|
+
<data-grid-partial class="content">
|
|
7
|
+
<section class="data-grid-container">
|
|
8
|
+
Place Data here
|
|
9
|
+
{{content}}
|
|
10
|
+
</section>
|
|
11
|
+
</data-grid-partial>
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
</section>
|
|
15
|
+
</article>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script lang="ts">
|
|
19
|
+
import { ExtComponent, Component } from '@libs/lila-component';
|
|
20
|
+
import StudioSDK, { SDKResponse } from '@libs/StudioSDK';
|
|
21
|
+
import { Publish } from '@lilaquadrat/studio/lib/interfaces';
|
|
22
|
+
import MainStoreState from '@store/mainStoreState.interface';
|
|
23
|
+
import { Dictionary } from 'vue-router/types/router';
|
|
24
|
+
import { Store } from 'vuex';
|
|
25
|
+
|
|
26
|
+
@Component
|
|
27
|
+
export default class App{{nameUppercase}}SettingsScreen extends ExtComponent {
|
|
28
|
+
|
|
29
|
+
componentName = 'app-{{name}}-project-single';
|
|
30
|
+
|
|
31
|
+
get content(): Publish {
|
|
32
|
+
|
|
33
|
+
return this.$store.state.App{{nameUppercase}}.single;
|
|
34
|
+
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// eslint-disable-next-line class-methods-use-this
|
|
38
|
+
preloadDataPre(params: Dictionary<string>, query: Dictionary<string | string[]>, store: Store<MainStoreState>) {
|
|
39
|
+
|
|
40
|
+
return store
|
|
41
|
+
.dispatch('App{{nameUppercase}}/single', {
|
|
42
|
+
_id: params.id,
|
|
43
|
+
settings: {
|
|
44
|
+
project: params.project,
|
|
45
|
+
company: params.company,
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// eslint-disable-next-line class-methods-use-this
|
|
52
|
+
preloadDataPost(preloadedData: SDKResponse<{{nameUppercase}}>, params: Dictionary<string>, query: Dictionary<string | string[]>, store: Store<MainStoreState>) {
|
|
53
|
+
|
|
54
|
+
store.commit('App{{nameUppercase}}/single', preloadedData.data);
|
|
55
|
+
return Promise.resolve();
|
|
56
|
+
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
}
|
|
61
|
+
</script>
|
|
62
|
+
<style lang="less">
|
|
63
|
+
@import (reference) '/source/editor/less/_base/shared.less';
|
|
64
|
+
|
|
65
|
+
.app-{{name}}-single-screen {
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
}
|
|
69
|
+
</style>
|