@lilaquadrat/cli 0.9.8 → 0.10.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/CHANGELOG.md +38 -0
- package/lib/functions/template.d.ts +0 -0
- package/lib/functions/template.js +7 -5
- package/lib/functions/template.js.map +1 -1
- package/lib/package.json +2 -1
- package/lib/src/config.d.ts +3 -2
- package/lib/src/config.js +16 -3
- package/lib/src/config.js.map +1 -1
- package/lib/src/config.prompt.d.ts +0 -0
- package/lib/src/config.prompt.js +6 -5
- package/lib/src/config.prompt.js.map +1 -1
- package/lib/src/create.prompt.d.ts +0 -0
- package/lib/src/create.prompt.js +5 -5
- package/lib/src/create.prompt.js.map +1 -1
- package/lib/src/definitions.d.ts +11 -3
- package/lib/src/definitions.js +11 -3
- package/lib/src/definitions.js.map +1 -1
- package/lib/src/index.d.ts +0 -0
- package/lib/src/index.js +27 -6
- package/lib/src/index.js.map +1 -1
- package/lib/src/login.d.ts +0 -0
- package/lib/src/login.js +0 -0
- package/lib/src/login.js.map +0 -0
- package/lib/src/logout.d.ts +0 -0
- package/lib/src/logout.js +0 -0
- package/lib/src/logout.js.map +0 -0
- package/lib/src/mode.prompt.d.ts +0 -0
- package/lib/src/mode.prompt.js +0 -0
- package/lib/src/mode.prompt.js.map +0 -0
- package/lib/src/publish.d.ts +0 -0
- package/lib/src/publish.js +33 -8
- package/lib/src/publish.js.map +1 -1
- package/lib/src/status.d.ts +0 -0
- package/lib/src/status.js +2 -0
- package/lib/src/status.js.map +1 -1
- package/lib/src/store.d.ts +0 -0
- package/lib/src/store.js +0 -0
- package/lib/src/store.js.map +0 -0
- package/lib/src/user.d.ts +2 -1
- package/lib/src/user.js +11 -6
- package/lib/src/user.js.map +1 -1
- package/package.json +2 -1
- package/source/apps/app.ts.hbs +0 -0
- package/source/apps/de.ts.hbs +0 -0
- package/source/apps/home.screen.vue.hbs +105 -97
- package/source/apps/main-state.interface.ts.hbs +0 -0
- package/source/apps/main.store.ts.hbs +0 -0
- package/source/apps/routes.ts.hbs +0 -0
- package/source/apps/single.screen.vue.hbs +0 -0
- package/source/apps/translations.ts.hbs +0 -0
- package/source/{project → design}/.storybook/.babelrc +0 -0
- package/source/{project → design}/.storybook/preview-body.html +0 -0
- package/source/design/index.html +21 -0
- package/source/design/index.server.html +62 -0
- package/source/design/models.ts +2 -0
- package/source/design/modules.ts +928 -0
- package/source/design/server/app-server.ts +50 -0
- package/source/design/server/server-entry.ts +53 -0
- package/source/{project → design}/source/fonts/OpenSans-Regular.woff +0 -0
- package/source/{project → design}/source/fonts/OpenSans-SemiBold.woff +0 -0
- package/source/{project → design}/source/fonts/OpenSansSemiCondensed-ExtraBold.woff +0 -0
- package/source/{project → design}/source/less/base.less +0 -0
- package/source/{project → design}/source/less/fonts.less +0 -0
- package/source/{project → design}/source/less/shared.less +0 -0
- package/source/{project → design}/source/less/variables.less +28 -11
- package/source/design/translations/de.ts +65 -0
- package/source/{project/app.ts → designFiles/app.ts.hbs} +58 -7
- package/source/{projectFiles → designFiles}/main.js.hbs +11 -1
- package/source/{projectFiles → designFiles}/preview.js.hbs +42 -2
- package/source/moduleEditor/modules.html.hbs +0 -0
- package/source/moduleEditor/modules.ts.hbs +0 -0
- package/source/modules/modules.vue.hbs +0 -0
- package/source/partials/partials.vue.hbs +0 -0
- package/source/store/state.d.ts.hbs +0 -0
- package/source/store/store.ts.hbs +0 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import Vue from 'vue';
|
|
2
|
+
|
|
3
|
+
import APPComponent from '@partials/appcomponent.partial.vue';
|
|
4
|
+
import store from 'src/store/main.store';
|
|
5
|
+
|
|
6
|
+
import '@libs/Models.class';
|
|
7
|
+
import '../models';
|
|
8
|
+
|
|
9
|
+
import 'src/mixins/leadingZero';
|
|
10
|
+
import 'src/mixins/toFixed';
|
|
11
|
+
import 'src/mixins/moment';
|
|
12
|
+
import 'src/mixins/formatBytes';
|
|
13
|
+
|
|
14
|
+
import translation from 'src/mixins/translation';
|
|
15
|
+
|
|
16
|
+
import loadComponents from 'src/mixins/loadComponents';
|
|
17
|
+
import VueRouter from 'vue-router';
|
|
18
|
+
import { Store } from 'vuex';
|
|
19
|
+
import MainStoreState from '@store/mainStoreState.interface';
|
|
20
|
+
import { routes } from 'src/routes';
|
|
21
|
+
import DE from '../translations/de';
|
|
22
|
+
|
|
23
|
+
translation.select('de');
|
|
24
|
+
translation.add(DE, 'de');
|
|
25
|
+
|
|
26
|
+
Vue.use(VueRouter);
|
|
27
|
+
|
|
28
|
+
export default function createApp(): {app: Vue, router: VueRouter, store: Store<MainStoreState>} {
|
|
29
|
+
|
|
30
|
+
const router = new VueRouter({
|
|
31
|
+
routes,
|
|
32
|
+
mode: 'history',
|
|
33
|
+
});
|
|
34
|
+
const app = new Vue({
|
|
35
|
+
router,
|
|
36
|
+
store,
|
|
37
|
+
render: (h) => h(APPComponent),
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* let webpack preload modules and partials
|
|
42
|
+
*/
|
|
43
|
+
loadComponents.sync(require.context('../../../../src/partials', true, /[a-z]\w+\.partial\.(ts|vue)$/, 'sync'), 'partials', 'lila');
|
|
44
|
+
loadComponents.sync(require.context('../../../../src/modules', true, /[a-z]\w+\.module\.(ts|vue)$/, 'sync'), 'modules', 'lila');
|
|
45
|
+
|
|
46
|
+
Vue.prototype.$enviroment = 'browser';
|
|
47
|
+
|
|
48
|
+
return { app, router, store };
|
|
49
|
+
|
|
50
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { RenderContext } from '@lilaquadrat/studio/lib/interfaces';
|
|
2
|
+
import MainStoreState from '@store/mainStoreState.interface';
|
|
3
|
+
import createApp from './app-server';
|
|
4
|
+
|
|
5
|
+
export default (context: RenderContext & {rendered: () => void, state: MainStoreState}) => new Promise((resolve, reject) => {
|
|
6
|
+
|
|
7
|
+
const { app, router, store } = createApp();
|
|
8
|
+
|
|
9
|
+
router.push(context.url)
|
|
10
|
+
.catch((e) => {
|
|
11
|
+
|
|
12
|
+
console.error('ROUTE PUSH ERROR', e);
|
|
13
|
+
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
store.commit('setSettings', context.settings);
|
|
17
|
+
store.commit('setData', context.data);
|
|
18
|
+
store.commit('layout', context.layout);
|
|
19
|
+
store.commit('setTranslation', context.translation);
|
|
20
|
+
store.commit('setMedia', 'mobile');
|
|
21
|
+
store.commit('setFullscreen', true);
|
|
22
|
+
store.commit('renderTarget', context.renderTarget || 'web');
|
|
23
|
+
store.commit('init');
|
|
24
|
+
|
|
25
|
+
router.onReady(
|
|
26
|
+
() => {
|
|
27
|
+
|
|
28
|
+
const matchedComponents = router.getMatchedComponents();
|
|
29
|
+
|
|
30
|
+
if (!matchedComponents.length) {
|
|
31
|
+
|
|
32
|
+
return reject(new Error('ROUTE_NOT_FOUND'));
|
|
33
|
+
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
context.rendered = () => {
|
|
37
|
+
|
|
38
|
+
context.state = store.state;
|
|
39
|
+
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
return resolve(app);
|
|
43
|
+
|
|
44
|
+
},
|
|
45
|
+
reject,
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
})
|
|
49
|
+
.catch((e) => {
|
|
50
|
+
|
|
51
|
+
console.error(e);
|
|
52
|
+
|
|
53
|
+
});
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,37 +1,48 @@
|
|
|
1
|
+
/* stylelint-disable at-rule-empty-line-before */
|
|
1
2
|
@imageBase : '/img/';
|
|
2
3
|
|
|
3
|
-
@smartphone :~"only screen and (max-width: 599px)";
|
|
4
|
-
|
|
5
|
-
@
|
|
6
|
-
|
|
7
|
-
@
|
|
4
|
+
@smartphone :~"only screen and (max-width: 599px), print and (max-width: 599px)";
|
|
5
|
+
|
|
6
|
+
@tablet :~"only screen and (min-width: 600px) and (max-width: 899px), print and (min-width: 600px) and (max-width: 899px)";
|
|
7
|
+
|
|
8
|
+
@desktop :~"only screen and (min-width: 900px), print and (min-width: 900px)";
|
|
9
|
+
|
|
10
|
+
@desktopExt :~"only screen and (min-width: 1000px), print and (min-width: 1000px)";
|
|
11
|
+
|
|
12
|
+
@wide :~"only screen and (min-width: 1200px), print and (min-width: 1200px)";
|
|
8
13
|
|
|
9
14
|
@desktopWidth : 650px;
|
|
10
|
-
@desktopWidthExt: 1080px;
|
|
15
|
+
@desktopWidthExt: 1080px;
|
|
11
16
|
@desktopWidthWide: 1200px;
|
|
12
17
|
|
|
13
18
|
@column : percentage((100 / 24)) / 100;
|
|
14
|
-
@margin : percentage((100 / 24)) / 100; //margin
|
|
15
19
|
|
|
16
|
-
@
|
|
20
|
+
@margin : percentage((100 / 24)) / 100;
|
|
21
|
+
|
|
22
|
+
@fontTextMenu: 2.8em;
|
|
17
23
|
|
|
18
24
|
@fontText : 14.5px;
|
|
19
25
|
@fontTextSmaller: 13px;
|
|
20
26
|
@fontSmall: 10px;
|
|
21
27
|
|
|
22
28
|
@headline_XL : 45px;
|
|
29
|
+
|
|
23
30
|
@headlineLineHeight_XL : 47px;
|
|
24
31
|
|
|
25
32
|
@headline_L : 34px;
|
|
33
|
+
|
|
26
34
|
@headlineLineHeight_L : 36px;
|
|
27
35
|
|
|
28
36
|
@headline_M : 28px;
|
|
37
|
+
|
|
29
38
|
@headlineLineHeight_M : 30px;
|
|
30
39
|
|
|
31
40
|
@headline_S : 22px;
|
|
41
|
+
|
|
32
42
|
@headlineLineHeight_S : 24px;
|
|
33
43
|
|
|
34
44
|
@headline_XS : 16px;
|
|
45
|
+
|
|
35
46
|
@headlineLineHeight_XS : 18px;
|
|
36
47
|
|
|
37
48
|
@buttonHeight : 35px;
|
|
@@ -45,6 +56,7 @@
|
|
|
45
56
|
@moduleWidth_Full: 100%;
|
|
46
57
|
|
|
47
58
|
@modulePadding: 40px;
|
|
59
|
+
@modulePaddingExt: 40px;
|
|
48
60
|
|
|
49
61
|
@rowGapPresentation: 150px;
|
|
50
62
|
@rowGapContent: 50px;
|
|
@@ -52,29 +64,34 @@
|
|
|
52
64
|
@fontBase : '../fonts/';
|
|
53
65
|
|
|
54
66
|
//@deprecated
|
|
55
|
-
@aTime
|
|
67
|
+
@aTime: .3s;
|
|
68
|
+
|
|
56
69
|
@animationTime : .3s;
|
|
57
70
|
|
|
58
71
|
@aTimeMedium : .6s;
|
|
59
72
|
@animationTimeMedium: .6s;
|
|
60
73
|
|
|
61
74
|
@aTimeSlow : 1s;
|
|
75
|
+
|
|
62
76
|
@animationTimeSlow : 1s;
|
|
63
77
|
|
|
64
78
|
@aType : ease;
|
|
79
|
+
|
|
65
80
|
@animationType : ease;
|
|
66
81
|
|
|
67
82
|
//colors
|
|
68
|
-
@textColor
|
|
83
|
+
@textColor: #555;
|
|
69
84
|
|
|
70
85
|
@black : #000000;
|
|
71
|
-
|
|
72
86
|
@white : #FFFFFF;
|
|
73
87
|
|
|
74
88
|
@grey : #CCCCCC;
|
|
75
89
|
@grey1 : #F6F6F6;
|
|
76
90
|
@grey2 : #F9F9F9;
|
|
77
91
|
@grey3 : #fcfcfc;
|
|
92
|
+
|
|
93
|
+
@shadow: rgba(0, 0, 0, .130);
|
|
94
|
+
|
|
78
95
|
@bg : #F6F6F6;
|
|
79
96
|
|
|
80
97
|
@link : #5A8C99;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
required: 'erforderlich',
|
|
3
|
+
'contact-agreements': 'Vereinbarungen',
|
|
4
|
+
'validation-error-type-number': 'muss eine Zahl sein',
|
|
5
|
+
'validation-error-type-string': 'muss Text sein',
|
|
6
|
+
'validation-error-minLength': 'muss mindestens %s Zeichen lang sein',
|
|
7
|
+
'validation-error-maxLength': 'darf maximal %s Zeichen lang sein',
|
|
8
|
+
'validation-error-additionalProperties': 'Das zusätzliche Attribut "%s" ist nicht erlaubt',
|
|
9
|
+
'validation-error-maxItems': 'darf maximal %s Elemente besitzen',
|
|
10
|
+
'validation-error-minItems': 'muss mindestens %s Elemente besitzen',
|
|
11
|
+
'validation-error-contains': 'muss mindestens %s valide(s) Element(e) besitzen',
|
|
12
|
+
'validation-error-required': 'muss gesetzt sein',
|
|
13
|
+
'validation-error-accepted': 'Vereinbarungen müssen akzeptiert werden',
|
|
14
|
+
city: 'Stadt',
|
|
15
|
+
zipcode: 'Postleitzahl',
|
|
16
|
+
'street & number': 'Straße & Hausnummer',
|
|
17
|
+
prename: 'Vorname',
|
|
18
|
+
name: 'Name',
|
|
19
|
+
country: 'Land',
|
|
20
|
+
email: 'E-Mail',
|
|
21
|
+
phone: 'Telefon',
|
|
22
|
+
personal: 'Persönliche Daten',
|
|
23
|
+
address: 'Adresse',
|
|
24
|
+
contact: 'Kontakt',
|
|
25
|
+
price_with_tax: 'inkl. %s% MwSt.',
|
|
26
|
+
'show content': 'Inhalt anzeigen',
|
|
27
|
+
'select category': 'Kategorie auswählen',
|
|
28
|
+
category: 'Kategorie',
|
|
29
|
+
message: 'Nachricht',
|
|
30
|
+
'send contactform': 'Kontaktformular senden',
|
|
31
|
+
'send reservation': 'Reservierung senden',
|
|
32
|
+
'order with payment': 'Zahlungspflichtig bestellen',
|
|
33
|
+
'back to the form': 'Zurück zum Formular',
|
|
34
|
+
'not available': 'nicht verfügbar',
|
|
35
|
+
'no charge': 'kostenlos',
|
|
36
|
+
'address addition': 'Adresszusatz',
|
|
37
|
+
'address search': 'Adresssuche',
|
|
38
|
+
'no matching addresses': 'Keine passende Adresse gefunden',
|
|
39
|
+
'provide at least your street and housenumber to find your address. city and zipcode increase accuracy.': 'Bitte geben Sie mindestens Ihre Straße und Hausnummer an, um Ihre Adresse zu finden. Stadt und Postleitzahl erhöhen die Genauigkeit.',
|
|
40
|
+
'type your street and number': 'Strasse und Hausnummer',
|
|
41
|
+
'validation-error-LIST_CANNOT_JOIN': 'Es ist leider ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.',
|
|
42
|
+
'validation-error-LIST_NOT_FOUND': 'Es ist leider ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.',
|
|
43
|
+
'validation-error-LIST_NO_SPOT_AVAILABLE': 'Es ist keine weiteren Plätze verfügbar.',
|
|
44
|
+
'validation-error-LIST_UNIQUE_CUSTOMER_CONFIRMED': 'Die maximale Anzahl wurde erreicht.',
|
|
45
|
+
LIST_CANNOT_JOIN_reservation: 'Es ist leider ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.',
|
|
46
|
+
LIST_UNIQUE_CUSTOMER_CONFIRMED_reservation: 'Sie sind bereits für eine Reservierung vorgemerkt.',
|
|
47
|
+
LIST_NOT_FOUND_reservation: 'Es ist leider ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.',
|
|
48
|
+
LIST_NO_SPOT_AVAILABLE_reservation: 'Leider sind keine Plätze mehr verfügbar.',
|
|
49
|
+
LIST_CANNOT_JOIN_contact: 'Es ist leider ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.',
|
|
50
|
+
LIST_UNIQUE_CUSTOMER_CONFIRMED_contact: 'Sie haben bereits die maximale Anzahl an Nachrichten gesendet.',
|
|
51
|
+
LIST_NOT_FOUND_contact: 'Es ist leider ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.',
|
|
52
|
+
LIST_NO_SPOT_AVAILABLE_contact: 'Die maximale Anzahl an Nachrichten wurde erreicht.',
|
|
53
|
+
LIST_CATEGORY_LIMITED_AVAILABILITY_SINGULAR: 'Nur einmalig verfügbar',
|
|
54
|
+
LIST_CATEGORY_LIMITED_AVAILABILITY_PLURAL: 'Limitiert auf %s Plätze.',
|
|
55
|
+
LIST_CATEGORY_LIMITED_AVAILABILITY: 'Limitiert auf %s Plätze.',
|
|
56
|
+
LIST_LIMITED_AVAILABILITY_SINGULAR: 'Für diese Veranstaltung ist maximal ein Plätze verfügbar.',
|
|
57
|
+
LIST_LIMITED_AVAILABILITY_PLURAL: 'Für diese Veranstaltung sind maximal %s Plätze verfügbar.',
|
|
58
|
+
LIST_LIMITED_AVAILABILITY_STATE: 'Für diese Veranstaltung sind noch %s von %s Plätze verfügbar.',
|
|
59
|
+
LIST_CATEGORY_LAST_CHANCE_PERCENT: 'Mehr als %s% gebucht',
|
|
60
|
+
LIST_CATEGORY_LAST_CHANCE_SINGULAR: 'Nur noch %s Platz verfügbar',
|
|
61
|
+
LIST_CATEGORY_LAST_CHANCE_PLURAL: 'Nur noch %s Plätze verfügbar',
|
|
62
|
+
LIST_CATEGORY_SOLD_OUT: 'AUSVERKAUFT',
|
|
63
|
+
LIST_SOLD_OUT: 'Es sind keine weiteren Plätze verfügbar',
|
|
64
|
+
euro: '€',
|
|
65
|
+
};
|
|
@@ -14,22 +14,33 @@ import translation from 'src/mixins/translation';
|
|
|
14
14
|
|
|
15
15
|
import APPComponent from '@partials/appcomponent.partial.vue';
|
|
16
16
|
|
|
17
|
+
import '@libs/Models.class';
|
|
18
|
+
import './models';
|
|
19
|
+
|
|
17
20
|
import store from 'src/store/main.store';
|
|
18
21
|
import log from 'loglevel';
|
|
19
22
|
import mount from 'src/mixins/mount';
|
|
20
23
|
import router from 'src/mixins/router';
|
|
21
24
|
import ssr from 'src/mixins/ssr';
|
|
25
|
+
import Components from '@libs/Components';
|
|
22
26
|
|
|
23
27
|
/**
|
|
24
28
|
* defines the css that will be used
|
|
25
29
|
*/
|
|
26
|
-
import '
|
|
30
|
+
import 'projects/{{projectCompany}}/{{projectProject}}/source/less/base.less?main';
|
|
27
31
|
import { editorRoutes, routes } from 'src/routes';
|
|
32
|
+
import PortalVue from 'portal-vue';
|
|
33
|
+
|
|
34
|
+
import DE from './translations/de';
|
|
35
|
+
|
|
36
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
37
|
+
const modules = require('./modules');
|
|
28
38
|
|
|
29
39
|
translation.select('de');
|
|
40
|
+
translation.add(DE, 'de');
|
|
30
41
|
|
|
31
|
-
|
|
32
|
-
const currentScript
|
|
42
|
+
|
|
43
|
+
const currentScript = document.currentScript as HTMLScriptElement;
|
|
33
44
|
|
|
34
45
|
if (currentScript) {
|
|
35
46
|
|
|
@@ -41,6 +52,7 @@ if (currentScript) {
|
|
|
41
52
|
|
|
42
53
|
}
|
|
43
54
|
|
|
55
|
+
const ISLOCAL = window.location.toString().match(/(:9001|:9000)/i);
|
|
44
56
|
const ENVIRONMENT = window.location.toString().match(/(editor|dist|:9001|:9000)(\/(index\.html))?/i) ? 'editor' : 'live';
|
|
45
57
|
const usedRoutes = ENVIRONMENT === 'editor' ? editorRoutes : routes;
|
|
46
58
|
|
|
@@ -50,11 +62,12 @@ ENVIRONMENT === 'editor'
|
|
|
50
62
|
: log.setLevel('warn');
|
|
51
63
|
|
|
52
64
|
Vue.use(VueRouter);
|
|
65
|
+
Vue.use(PortalVue);
|
|
53
66
|
|
|
54
67
|
/** APP Object for vuejs initialization */
|
|
55
|
-
const appObject:
|
|
68
|
+
const appObject: Record<string, unknown> = {
|
|
56
69
|
|
|
57
|
-
render: (h
|
|
70
|
+
render: (h) => h(APPComponent),
|
|
58
71
|
|
|
59
72
|
created: () => {
|
|
60
73
|
|
|
@@ -77,11 +90,41 @@ window.addEventListener('media', () => {
|
|
|
77
90
|
});
|
|
78
91
|
|
|
79
92
|
store.commit('setMedia', Resize.media);
|
|
93
|
+
|
|
94
|
+
if (ISLOCAL) {
|
|
95
|
+
|
|
96
|
+
store.commit('setApi', {
|
|
97
|
+
mode: 'custom',
|
|
98
|
+
customEndpoints: {
|
|
99
|
+
api: 'http://localhost:9090',
|
|
100
|
+
media: 'http://localhost:9091',
|
|
101
|
+
},
|
|
102
|
+
company: process.env.company,
|
|
103
|
+
project: process.env.project,
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
} else {
|
|
108
|
+
|
|
109
|
+
store.commit('setApi', {
|
|
110
|
+
mode: process.env.apiMode,
|
|
111
|
+
company: process.env.company,
|
|
112
|
+
project: process.env.project,
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
}
|
|
117
|
+
|
|
80
118
|
/**
|
|
81
119
|
* let webpack preload modules and partials
|
|
82
120
|
*/
|
|
83
|
-
|
|
84
|
-
|
|
121
|
+
|
|
122
|
+
Components.add(modules, 'module', 'lila');
|
|
123
|
+
|
|
124
|
+
store.commit('setAvailableModules', Components.getAvailableModules(modules));
|
|
125
|
+
|
|
126
|
+
loadComponents.lazy(require.context('../../../src/partials', true, /[a-z]\w+\.partial\.(ts|vue)$/, 'lazy'), 'partials', 'lila');
|
|
127
|
+
|
|
85
128
|
|
|
86
129
|
log.info(`%c[DESIGN]%cRUNNING IN ${ENVIRONMENT} MODE`, 'background: #3f2d56; color: #CCC;', 'padding: 10px');
|
|
87
130
|
|
|
@@ -113,6 +156,14 @@ if (ENVIRONMENT === 'editor') {
|
|
|
113
156
|
if (ENVIRONMENT === 'live') {
|
|
114
157
|
|
|
115
158
|
ssr(store);
|
|
159
|
+
|
|
160
|
+
// set the api after the inital store load
|
|
161
|
+
store.commit('setApi', {
|
|
162
|
+
mode: process.env.apiMode,
|
|
163
|
+
company: process.env.company,
|
|
164
|
+
project: process.env.project,
|
|
165
|
+
});
|
|
166
|
+
|
|
116
167
|
mount(appObject);
|
|
117
168
|
|
|
118
169
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const modules = require('../modules.ts');
|
|
1
2
|
const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
|
2
3
|
const path = require('path');
|
|
3
4
|
|
|
@@ -14,6 +15,11 @@ module.exports = {
|
|
|
14
15
|
core: {
|
|
15
16
|
builder: "webpack5",
|
|
16
17
|
},
|
|
18
|
+
env: (config) => ({
|
|
19
|
+
...config,
|
|
20
|
+
MODULES: modules,
|
|
21
|
+
}),
|
|
22
|
+
staticDirs: ['../../../../src/source/storybook'],
|
|
17
23
|
webpackFinal: async (config, { configType }) => {
|
|
18
24
|
// `configType` has a value of 'DEVELOPMENT' or 'PRODUCTION'
|
|
19
25
|
// You can change the configuration based on that.
|
|
@@ -48,7 +54,7 @@ module.exports = {
|
|
|
48
54
|
],
|
|
49
55
|
});
|
|
50
56
|
|
|
51
|
-
config.module.rules.push({
|
|
57
|
+
config.module.rules.push({lilaquadrat
|
|
52
58
|
test: /\.ts$/,
|
|
53
59
|
use: [
|
|
54
60
|
{
|
|
@@ -77,4 +83,8 @@ module.exports = {
|
|
|
77
83
|
// Return the altered config
|
|
78
84
|
return config;
|
|
79
85
|
},
|
|
86
|
+
framework: {
|
|
87
|
+
name: "@storybook/vue-webpack5",
|
|
88
|
+
options: {}
|
|
89
|
+
},
|
|
80
90
|
}
|
|
@@ -8,6 +8,8 @@ import loadComponents from '@mixins/loadComponents';
|
|
|
8
8
|
import Resize from '@libs/lila-resize';
|
|
9
9
|
import Inview from '@libs/lila-inview';
|
|
10
10
|
|
|
11
|
+
import '@libs/Models.class';
|
|
12
|
+
import '/projects/{{projectCompany}}/{{projectProject}}/models';
|
|
11
13
|
|
|
12
14
|
import Attributes from '@mixins/attributes';
|
|
13
15
|
import '@mixins/leadingZero';
|
|
@@ -33,8 +35,46 @@ Vue.component(
|
|
|
33
35
|
/**
|
|
34
36
|
* let webpack preload modules and partials
|
|
35
37
|
*/
|
|
36
|
-
loadComponents.lazy(require.context('/src/partials', true, /[a-z]\w+\.partial\.(ts|vue)$/, 'lazy'), 'partials');
|
|
37
|
-
loadComponents.lazy(require.context('/src/modules', true, /[a-z]\w+\.module\.(ts|vue)$/, 'lazy'), 'modules');
|
|
38
|
+
loadComponents.lazy(require.context('/src/partials', true, /[a-z]\w+\.partial\.(ts|vue)$/, 'lazy'), 'partials', 'lila');
|
|
39
|
+
loadComponents.lazy(require.context('/src/modules', true, /[a-z]\w+\.module\.(ts|vue)$/, 'lazy'), 'modules', 'lila');
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* load custom modules and partials
|
|
43
|
+
*/
|
|
44
|
+
try {
|
|
45
|
+
|
|
46
|
+
loadComponents.lazy(
|
|
47
|
+
require.context('/projects/{{projectCompany}}/{{projectProject}}/partials', true, /[a-z]\w+\.partial\.(ts|vue)$/, 'lazy'),
|
|
48
|
+
'partials',
|
|
49
|
+
'lila',
|
|
50
|
+
'{{projectCompany}}',
|
|
51
|
+
'{{projectProject}}'
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
} catch (error) {
|
|
55
|
+
|
|
56
|
+
console.error('you are trying to load custom partials, the folder does not exists.');
|
|
57
|
+
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
try {
|
|
61
|
+
|
|
62
|
+
loadComponents.lazy(
|
|
63
|
+
require.context('/projects/{{projectCompany}}/{{projectProject}}/modules', true, /[a-z]\w+\.module\.(ts|vue)$/, 'lazy'),
|
|
64
|
+
'modules',
|
|
65
|
+
'lila',
|
|
66
|
+
'{{projectCompany}}',
|
|
67
|
+
'{{projectProject}}'
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
} catch (error) {
|
|
71
|
+
|
|
72
|
+
console.error('you are trying to load custom modules, the folder does not exists.');
|
|
73
|
+
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
38
78
|
|
|
39
79
|
export const parameters = {
|
|
40
80
|
actions: { argTypesRegex: "^on[A-Z].*" },
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|