@dignite-ng/expand.cms 0.0.36 → 0.0.38
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 +24 -24
- package/esm2022/config/cms-config.module.mjs +4 -4
- package/esm2022/lib/cms-routing.module.mjs +4 -9
- package/esm2022/lib/cms.module.mjs +7 -11
- package/esm2022/lib/components/admin/domains/domains.component.mjs +10 -10
- package/esm2022/lib/components/admin/entries/create-or-edit-entries.component.mjs +29 -42
- package/esm2022/lib/components/admin/entries/create-or-update-entry-input-base.mjs +20 -20
- package/esm2022/lib/components/admin/entries/create.component.mjs +12 -22
- package/esm2022/lib/components/admin/entries/edit.component.mjs +12 -22
- package/esm2022/lib/components/admin/entries/entries.component.mjs +38 -50
- package/esm2022/lib/components/admin/fields/create-field.component.mjs +5 -16
- package/esm2022/lib/components/admin/fields/create-or-edit-field.component.mjs +3 -14
- package/esm2022/lib/components/admin/fields/create-or-update-field-input-base.mjs +13 -13
- package/esm2022/lib/components/admin/fields/edit-field.component.mjs +7 -23
- package/esm2022/lib/components/admin/fields/field-group.component.mjs +15 -25
- package/esm2022/lib/components/admin/fields/fields.component.mjs +14 -21
- package/esm2022/lib/components/admin/index.mjs +1 -2
- package/esm2022/lib/components/admin/sections/create-or-update-sections-input-base.mjs +15 -15
- package/esm2022/lib/components/admin/sections/entry-types/create-or-edit.-entry-type-input-base.mjs +26 -26
- package/esm2022/lib/components/admin/sections/entry-types/create-or-edit.component.mjs +31 -66
- package/esm2022/lib/components/admin/sections/sections.component.mjs +21 -36
- package/esm2022/lib/components/dynamic-form/entry/entry-config.component.mjs +11 -22
- package/esm2022/lib/components/dynamic-form/entry/entry-config.mjs +7 -7
- package/esm2022/lib/components/dynamic-form/entry/entry-control.component.mjs +9 -19
- package/esm2022/lib/components/dynamic-form/matrix/matrix-config.component.mjs +13 -29
- package/esm2022/lib/components/dynamic-form/matrix/matrix-config.mjs +16 -16
- package/esm2022/lib/components/dynamic-form/matrix/matrix-control.component.mjs +7 -22
- package/esm2022/lib/components/dynamic-form/table/table-config.component.mjs +7 -29
- package/esm2022/lib/components/dynamic-form/table/table-config.mjs +15 -15
- package/esm2022/lib/components/dynamic-form/table/table-control.component.mjs +6 -20
- package/esm2022/lib/constants/styles.mjs +2 -1
- package/esm2022/lib/proxy/admin/domains/domain-admin.service.mjs +18 -19
- package/esm2022/lib/proxy/admin/dynamic-forms/form-admin.service.mjs +8 -9
- package/esm2022/lib/proxy/admin/entries/entry-admin.service.mjs +56 -57
- package/esm2022/lib/proxy/admin/fields/field-admin.service.mjs +31 -32
- package/esm2022/lib/proxy/admin/fields/field-group-admin.service.mjs +27 -28
- package/esm2022/lib/proxy/admin/sections/entry-type-admin.service.mjs +27 -28
- package/esm2022/lib/proxy/admin/sections/section-admin.service.mjs +37 -38
- package/esm2022/lib/proxy/admin/settings/site-settings-admin.service.mjs +17 -18
- package/esm2022/lib/services/cms-api.service.mjs +3 -4
- package/esm2022/lib/services/cms.service.mjs +4 -5
- package/esm2022/lib/services/field-abstracts.service.mjs +7 -9
- package/esm2022/lib/services/simple-reuse-strategy.mjs +51 -33
- package/esm2022/lib/services/update-list.service.mjs +6 -5
- package/esm2022/lib/toolbar/toolbar-btn-default-action.mjs +1 -1
- package/fesm2022/dignite-ng-expand.cms-config.mjs +3 -3
- package/fesm2022/dignite-ng-expand.cms-config.mjs.map +1 -1
- package/fesm2022/dignite-ng-expand.cms.mjs +631 -909
- package/fesm2022/dignite-ng-expand.cms.mjs.map +1 -1
- package/lib/components/admin/index.d.ts +0 -1
- package/lib/constants/styles.d.ts +1 -1
- package/lib/services/simple-reuse-strategy.d.ts +7 -5
- package/package.json +4 -3
- package/esm2022/lib/components/admin/sites/create-or-update-sites-input-base.mjs +0 -18
- package/esm2022/lib/components/admin/sites/index.mjs +0 -3
- package/esm2022/lib/components/admin/sites/sites.component.mjs +0 -29
- package/lib/components/admin/sites/create-or-update-sites-input-base.d.ts +0 -8
- package/lib/components/admin/sites/index.d.ts +0 -2
- package/lib/components/admin/sites/sites.component.d.ts +0 -5
|
@@ -49,13 +49,14 @@ var ECmsComponent;
|
|
|
49
49
|
})(ECmsComponent || (ECmsComponent = {}));
|
|
50
50
|
|
|
51
51
|
class UpdateListService {
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
constructor() {
|
|
53
|
+
this.updateListEvent = new EventEmitter();
|
|
54
|
+
}
|
|
54
55
|
updateList() {
|
|
55
56
|
this.updateListEvent.emit();
|
|
56
57
|
}
|
|
57
|
-
static
|
|
58
|
-
static
|
|
58
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UpdateListService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
59
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UpdateListService, providedIn: 'root' }); }
|
|
59
60
|
}
|
|
60
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UpdateListService, decorators: [{
|
|
61
62
|
type: Injectable,
|
|
@@ -65,26 +66,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
65
66
|
}], ctorParameters: function () { return []; } });
|
|
66
67
|
|
|
67
68
|
class SiteSettingsAdminService {
|
|
68
|
-
restService;
|
|
69
|
-
apiName = 'CmsAdmin';
|
|
70
|
-
getAllLanguages = (config) => this.restService.request({
|
|
71
|
-
method: 'GET',
|
|
72
|
-
url: '/api/cms-admin/site-settings/all-languages',
|
|
73
|
-
}, { apiName: this.apiName, ...config });
|
|
74
|
-
getBrand = (config) => this.restService.request({
|
|
75
|
-
method: 'GET',
|
|
76
|
-
url: '/api/cms-admin/site-settings/brand',
|
|
77
|
-
}, { apiName: this.apiName, ...config });
|
|
78
|
-
getDefaultLanguage = (config) => this.restService.request({
|
|
79
|
-
method: 'GET',
|
|
80
|
-
responseType: 'text',
|
|
81
|
-
url: '/api/cms-admin/site-settings/default-language',
|
|
82
|
-
}, { apiName: this.apiName, ...config });
|
|
83
69
|
constructor(restService) {
|
|
84
70
|
this.restService = restService;
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
71
|
+
this.apiName = 'CmsAdmin';
|
|
72
|
+
this.getAllLanguages = (config) => this.restService.request({
|
|
73
|
+
method: 'GET',
|
|
74
|
+
url: '/api/cms-admin/site-settings/all-languages',
|
|
75
|
+
}, { apiName: this.apiName, ...config });
|
|
76
|
+
this.getBrand = (config) => this.restService.request({
|
|
77
|
+
method: 'GET',
|
|
78
|
+
url: '/api/cms-admin/site-settings/brand',
|
|
79
|
+
}, { apiName: this.apiName, ...config });
|
|
80
|
+
this.getDefaultLanguage = (config) => this.restService.request({
|
|
81
|
+
method: 'GET',
|
|
82
|
+
responseType: 'text',
|
|
83
|
+
url: '/api/cms-admin/site-settings/default-language',
|
|
84
|
+
}, { apiName: this.apiName, ...config });
|
|
85
|
+
}
|
|
86
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SiteSettingsAdminService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
87
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SiteSettingsAdminService, providedIn: 'root' }); }
|
|
88
88
|
}
|
|
89
89
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SiteSettingsAdminService, decorators: [{
|
|
90
90
|
type: Injectable,
|
|
@@ -94,65 +94,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
94
94
|
}], ctorParameters: function () { return [{ type: i1.RestService }]; } });
|
|
95
95
|
|
|
96
96
|
class EntryAdminService {
|
|
97
|
-
restService;
|
|
98
|
-
apiName = 'CmsAdmin';
|
|
99
|
-
activate = (id, config) => this.restService.request({
|
|
100
|
-
method: 'POST',
|
|
101
|
-
url: `/api/cms-admin/entries/activate/${id}`,
|
|
102
|
-
}, { apiName: this.apiName, ...config });
|
|
103
|
-
create = (input, config) => this.restService.request({
|
|
104
|
-
method: 'POST',
|
|
105
|
-
url: '/api/cms-admin/entries',
|
|
106
|
-
body: input,
|
|
107
|
-
}, { apiName: this.apiName, ...config });
|
|
108
|
-
cultureExistWithSingleSection = (input, config) => this.restService.request({
|
|
109
|
-
method: 'GET',
|
|
110
|
-
url: '/api/cms-admin/entries/culture-exists-with-single-section',
|
|
111
|
-
params: { culture: input.culture, sectionId: input.sectionId, entryTypeId: input.entryTypeId },
|
|
112
|
-
}, { apiName: this.apiName, ...config });
|
|
113
|
-
delete = (id, config) => this.restService.request({
|
|
114
|
-
method: 'DELETE',
|
|
115
|
-
url: `/api/cms-admin/entries/${id}`,
|
|
116
|
-
}, { apiName: this.apiName, ...config });
|
|
117
|
-
get = (id, config) => this.restService.request({
|
|
118
|
-
method: 'GET',
|
|
119
|
-
url: `/api/cms-admin/entries/${id}`,
|
|
120
|
-
}, { apiName: this.apiName, ...config });
|
|
121
|
-
getAllVersions = (id, config) => this.restService.request({
|
|
122
|
-
method: 'GET',
|
|
123
|
-
url: `/api/cms-admin/entries/${id}/all-versions`,
|
|
124
|
-
}, { apiName: this.apiName, ...config });
|
|
125
|
-
getList = (input, config) => this.restService.request({
|
|
126
|
-
method: 'GET',
|
|
127
|
-
url: '/api/cms-admin/entries',
|
|
128
|
-
params: { culture: input.culture, sectionId: input.sectionId, entryTypeId: input.entryTypeId, startPublishDate: input.startPublishDate, expiryPublishDate: input.expiryPublishDate, filter: input.filter, status: input.status, creatorId: input.creatorId, sorting: input.sorting, skipCount: input.skipCount, maxResultCount: input.maxResultCount },
|
|
129
|
-
}, { apiName: this.apiName, ...config });
|
|
130
|
-
getListByIds = (sectionId, ids, config) => this.restService.request({
|
|
131
|
-
method: 'GET',
|
|
132
|
-
url: '/api/cms-admin/entries/search-by-ids',
|
|
133
|
-
params: { sectionId, ids },
|
|
134
|
-
}, { apiName: this.apiName, ...config });
|
|
135
|
-
move = (id, input, config) => this.restService.request({
|
|
136
|
-
method: 'POST',
|
|
137
|
-
url: `/api/cms-admin/entries/move/${id}`,
|
|
138
|
-
body: input,
|
|
139
|
-
}, { apiName: this.apiName, ...config });
|
|
140
|
-
slugExists = (input, config) => this.restService.request({
|
|
141
|
-
method: 'GET',
|
|
142
|
-
url: '/api/cms-admin/entries/slug-exists',
|
|
143
|
-
params: { culture: input.culture, sectionId: input.sectionId, slug: input.slug },
|
|
144
|
-
}, { apiName: this.apiName, ...config });
|
|
145
|
-
update = (id, input, config) => this.restService.request({
|
|
146
|
-
method: 'PUT',
|
|
147
|
-
url: '/api/cms-admin/entries',
|
|
148
|
-
params: { id },
|
|
149
|
-
body: input,
|
|
150
|
-
}, { apiName: this.apiName, ...config });
|
|
151
97
|
constructor(restService) {
|
|
152
98
|
this.restService = restService;
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
99
|
+
this.apiName = 'CmsAdmin';
|
|
100
|
+
this.activate = (id, config) => this.restService.request({
|
|
101
|
+
method: 'POST',
|
|
102
|
+
url: `/api/cms-admin/entries/activate/${id}`,
|
|
103
|
+
}, { apiName: this.apiName, ...config });
|
|
104
|
+
this.create = (input, config) => this.restService.request({
|
|
105
|
+
method: 'POST',
|
|
106
|
+
url: '/api/cms-admin/entries',
|
|
107
|
+
body: input,
|
|
108
|
+
}, { apiName: this.apiName, ...config });
|
|
109
|
+
this.cultureExistWithSingleSection = (input, config) => this.restService.request({
|
|
110
|
+
method: 'GET',
|
|
111
|
+
url: '/api/cms-admin/entries/culture-exists-with-single-section',
|
|
112
|
+
params: { culture: input.culture, sectionId: input.sectionId, entryTypeId: input.entryTypeId },
|
|
113
|
+
}, { apiName: this.apiName, ...config });
|
|
114
|
+
this.delete = (id, config) => this.restService.request({
|
|
115
|
+
method: 'DELETE',
|
|
116
|
+
url: `/api/cms-admin/entries/${id}`,
|
|
117
|
+
}, { apiName: this.apiName, ...config });
|
|
118
|
+
this.get = (id, config) => this.restService.request({
|
|
119
|
+
method: 'GET',
|
|
120
|
+
url: `/api/cms-admin/entries/${id}`,
|
|
121
|
+
}, { apiName: this.apiName, ...config });
|
|
122
|
+
this.getAllVersions = (id, config) => this.restService.request({
|
|
123
|
+
method: 'GET',
|
|
124
|
+
url: `/api/cms-admin/entries/${id}/all-versions`,
|
|
125
|
+
}, { apiName: this.apiName, ...config });
|
|
126
|
+
this.getList = (input, config) => this.restService.request({
|
|
127
|
+
method: 'GET',
|
|
128
|
+
url: '/api/cms-admin/entries',
|
|
129
|
+
params: { culture: input.culture, sectionId: input.sectionId, entryTypeId: input.entryTypeId, startPublishDate: input.startPublishDate, expiryPublishDate: input.expiryPublishDate, filter: input.filter, status: input.status, creatorId: input.creatorId, sorting: input.sorting, skipCount: input.skipCount, maxResultCount: input.maxResultCount },
|
|
130
|
+
}, { apiName: this.apiName, ...config });
|
|
131
|
+
this.getListByIds = (sectionId, ids, config) => this.restService.request({
|
|
132
|
+
method: 'GET',
|
|
133
|
+
url: '/api/cms-admin/entries/search-by-ids',
|
|
134
|
+
params: { sectionId, ids },
|
|
135
|
+
}, { apiName: this.apiName, ...config });
|
|
136
|
+
this.move = (id, input, config) => this.restService.request({
|
|
137
|
+
method: 'POST',
|
|
138
|
+
url: `/api/cms-admin/entries/move/${id}`,
|
|
139
|
+
body: input,
|
|
140
|
+
}, { apiName: this.apiName, ...config });
|
|
141
|
+
this.slugExists = (input, config) => this.restService.request({
|
|
142
|
+
method: 'GET',
|
|
143
|
+
url: '/api/cms-admin/entries/slug-exists',
|
|
144
|
+
params: { culture: input.culture, sectionId: input.sectionId, slug: input.slug },
|
|
145
|
+
}, { apiName: this.apiName, ...config });
|
|
146
|
+
this.update = (id, input, config) => this.restService.request({
|
|
147
|
+
method: 'PUT',
|
|
148
|
+
url: '/api/cms-admin/entries',
|
|
149
|
+
params: { id },
|
|
150
|
+
body: input,
|
|
151
|
+
}, { apiName: this.apiName, ...config });
|
|
152
|
+
}
|
|
153
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryAdminService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
154
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryAdminService, providedIn: 'root' }); }
|
|
156
155
|
}
|
|
157
156
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryAdminService, decorators: [{
|
|
158
157
|
type: Injectable,
|
|
@@ -162,36 +161,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
162
161
|
}], ctorParameters: function () { return [{ type: i1.RestService }]; } });
|
|
163
162
|
|
|
164
163
|
class EntryTypeAdminService {
|
|
165
|
-
restService;
|
|
166
|
-
apiName = 'CmsAdmin';
|
|
167
|
-
create = (input, config) => this.restService.request({
|
|
168
|
-
method: 'POST',
|
|
169
|
-
url: '/api/cms-admin/entry-types',
|
|
170
|
-
body: input,
|
|
171
|
-
}, { apiName: this.apiName, ...config });
|
|
172
|
-
delete = (id, config) => this.restService.request({
|
|
173
|
-
method: 'DELETE',
|
|
174
|
-
url: `/api/cms-admin/entry-types/${id}`,
|
|
175
|
-
}, { apiName: this.apiName, ...config });
|
|
176
|
-
get = (id, config) => this.restService.request({
|
|
177
|
-
method: 'GET',
|
|
178
|
-
url: `/api/cms-admin/entry-types/${id}`,
|
|
179
|
-
}, { apiName: this.apiName, ...config });
|
|
180
|
-
nameExists = (input, config) => this.restService.request({
|
|
181
|
-
method: 'GET',
|
|
182
|
-
url: '/api/cms-admin/entry-types/name-exists',
|
|
183
|
-
params: { sectionId: input.sectionId, name: input.name },
|
|
184
|
-
}, { apiName: this.apiName, ...config });
|
|
185
|
-
update = (id, input, config) => this.restService.request({
|
|
186
|
-
method: 'PUT',
|
|
187
|
-
url: `/api/cms-admin/entry-types/${id}`,
|
|
188
|
-
body: input,
|
|
189
|
-
}, { apiName: this.apiName, ...config });
|
|
190
164
|
constructor(restService) {
|
|
191
165
|
this.restService = restService;
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
166
|
+
this.apiName = 'CmsAdmin';
|
|
167
|
+
this.create = (input, config) => this.restService.request({
|
|
168
|
+
method: 'POST',
|
|
169
|
+
url: '/api/cms-admin/entry-types',
|
|
170
|
+
body: input,
|
|
171
|
+
}, { apiName: this.apiName, ...config });
|
|
172
|
+
this.delete = (id, config) => this.restService.request({
|
|
173
|
+
method: 'DELETE',
|
|
174
|
+
url: `/api/cms-admin/entry-types/${id}`,
|
|
175
|
+
}, { apiName: this.apiName, ...config });
|
|
176
|
+
this.get = (id, config) => this.restService.request({
|
|
177
|
+
method: 'GET',
|
|
178
|
+
url: `/api/cms-admin/entry-types/${id}`,
|
|
179
|
+
}, { apiName: this.apiName, ...config });
|
|
180
|
+
this.nameExists = (input, config) => this.restService.request({
|
|
181
|
+
method: 'GET',
|
|
182
|
+
url: '/api/cms-admin/entry-types/name-exists',
|
|
183
|
+
params: { sectionId: input.sectionId, name: input.name },
|
|
184
|
+
}, { apiName: this.apiName, ...config });
|
|
185
|
+
this.update = (id, input, config) => this.restService.request({
|
|
186
|
+
method: 'PUT',
|
|
187
|
+
url: `/api/cms-admin/entry-types/${id}`,
|
|
188
|
+
body: input,
|
|
189
|
+
}, { apiName: this.apiName, ...config });
|
|
190
|
+
}
|
|
191
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryTypeAdminService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
192
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryTypeAdminService, providedIn: 'root' }); }
|
|
195
193
|
}
|
|
196
194
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryTypeAdminService, decorators: [{
|
|
197
195
|
type: Injectable,
|
|
@@ -201,46 +199,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
201
199
|
}], ctorParameters: function () { return [{ type: i1.RestService }]; } });
|
|
202
200
|
|
|
203
201
|
class SectionAdminService {
|
|
204
|
-
restService;
|
|
205
|
-
apiName = 'CmsAdmin';
|
|
206
|
-
create = (input, config) => this.restService.request({
|
|
207
|
-
method: 'POST',
|
|
208
|
-
url: '/api/cms-admin/sections',
|
|
209
|
-
body: input,
|
|
210
|
-
}, { apiName: this.apiName, ...config });
|
|
211
|
-
delete = (id, config) => this.restService.request({
|
|
212
|
-
method: 'DELETE',
|
|
213
|
-
url: `/api/cms-admin/sections/${id}`,
|
|
214
|
-
}, { apiName: this.apiName, ...config });
|
|
215
|
-
get = (id, config) => this.restService.request({
|
|
216
|
-
method: 'GET',
|
|
217
|
-
url: `/api/cms-admin/sections/${id}`,
|
|
218
|
-
}, { apiName: this.apiName, ...config });
|
|
219
|
-
getList = (input, config) => this.restService.request({
|
|
220
|
-
method: 'GET',
|
|
221
|
-
url: '/api/cms-admin/sections',
|
|
222
|
-
params: { filter: input.filter, isActive: input.isActive, sorting: input.sorting, skipCount: input.skipCount, maxResultCount: input.maxResultCount },
|
|
223
|
-
}, { apiName: this.apiName, ...config });
|
|
224
|
-
nameExists = (input, config) => this.restService.request({
|
|
225
|
-
method: 'GET',
|
|
226
|
-
url: '/api/cms-admin/sections/name-exists',
|
|
227
|
-
params: { name: input.name },
|
|
228
|
-
}, { apiName: this.apiName, ...config });
|
|
229
|
-
routeExists = (input, config) => this.restService.request({
|
|
230
|
-
method: 'GET',
|
|
231
|
-
url: '/api/cms-admin/sections/route-exists',
|
|
232
|
-
params: { route: input.route },
|
|
233
|
-
}, { apiName: this.apiName, ...config });
|
|
234
|
-
update = (id, input, config) => this.restService.request({
|
|
235
|
-
method: 'PUT',
|
|
236
|
-
url: `/api/cms-admin/sections/${id}`,
|
|
237
|
-
body: input,
|
|
238
|
-
}, { apiName: this.apiName, ...config });
|
|
239
202
|
constructor(restService) {
|
|
240
203
|
this.restService = restService;
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
204
|
+
this.apiName = 'CmsAdmin';
|
|
205
|
+
this.create = (input, config) => this.restService.request({
|
|
206
|
+
method: 'POST',
|
|
207
|
+
url: '/api/cms-admin/sections',
|
|
208
|
+
body: input,
|
|
209
|
+
}, { apiName: this.apiName, ...config });
|
|
210
|
+
this.delete = (id, config) => this.restService.request({
|
|
211
|
+
method: 'DELETE',
|
|
212
|
+
url: `/api/cms-admin/sections/${id}`,
|
|
213
|
+
}, { apiName: this.apiName, ...config });
|
|
214
|
+
this.get = (id, config) => this.restService.request({
|
|
215
|
+
method: 'GET',
|
|
216
|
+
url: `/api/cms-admin/sections/${id}`,
|
|
217
|
+
}, { apiName: this.apiName, ...config });
|
|
218
|
+
this.getList = (input, config) => this.restService.request({
|
|
219
|
+
method: 'GET',
|
|
220
|
+
url: '/api/cms-admin/sections',
|
|
221
|
+
params: { filter: input.filter, isActive: input.isActive, sorting: input.sorting, skipCount: input.skipCount, maxResultCount: input.maxResultCount },
|
|
222
|
+
}, { apiName: this.apiName, ...config });
|
|
223
|
+
this.nameExists = (input, config) => this.restService.request({
|
|
224
|
+
method: 'GET',
|
|
225
|
+
url: '/api/cms-admin/sections/name-exists',
|
|
226
|
+
params: { name: input.name },
|
|
227
|
+
}, { apiName: this.apiName, ...config });
|
|
228
|
+
this.routeExists = (input, config) => this.restService.request({
|
|
229
|
+
method: 'GET',
|
|
230
|
+
url: '/api/cms-admin/sections/route-exists',
|
|
231
|
+
params: { route: input.route },
|
|
232
|
+
}, { apiName: this.apiName, ...config });
|
|
233
|
+
this.update = (id, input, config) => this.restService.request({
|
|
234
|
+
method: 'PUT',
|
|
235
|
+
url: `/api/cms-admin/sections/${id}`,
|
|
236
|
+
body: input,
|
|
237
|
+
}, { apiName: this.apiName, ...config });
|
|
238
|
+
}
|
|
239
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SectionAdminService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
240
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SectionAdminService, providedIn: 'root' }); }
|
|
244
241
|
}
|
|
245
242
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SectionAdminService, decorators: [{
|
|
246
243
|
type: Injectable,
|
|
@@ -250,16 +247,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
250
247
|
}], ctorParameters: function () { return [{ type: i1.RestService }]; } });
|
|
251
248
|
|
|
252
249
|
class EntriesComponent {
|
|
253
|
-
_EntryAdminService
|
|
254
|
-
_SectionAdminService;
|
|
255
|
-
toaster;
|
|
256
|
-
confirmation;
|
|
257
|
-
configState;
|
|
258
|
-
router;
|
|
259
|
-
_LocalizationService;
|
|
260
|
-
constructor(_EntryAdminService,
|
|
261
|
-
// private _SiteAdminService: SiteAdminService,
|
|
262
|
-
_SectionAdminService, toaster, confirmation, configState, router, _LocalizationService) {
|
|
250
|
+
constructor(_EntryAdminService, _SectionAdminService, toaster, confirmation, configState, router, _LocalizationService) {
|
|
263
251
|
this._EntryAdminService = _EntryAdminService;
|
|
264
252
|
this._SectionAdminService = _SectionAdminService;
|
|
265
253
|
this.toaster = toaster;
|
|
@@ -267,31 +255,47 @@ class EntriesComponent {
|
|
|
267
255
|
this.configState = configState;
|
|
268
256
|
this.router = router;
|
|
269
257
|
this._LocalizationService = _LocalizationService;
|
|
258
|
+
this.fb = inject(FormBuilder);
|
|
259
|
+
this._UpdateListService = inject(UpdateListService);
|
|
260
|
+
this.list = inject(ListService);
|
|
261
|
+
/**站点列表 */
|
|
262
|
+
// siteList: any[any] = []
|
|
263
|
+
/**选择的站点id */
|
|
264
|
+
// siteId: string = ''
|
|
265
|
+
/**站点下的版块 */
|
|
266
|
+
this.SiteOfSectionList = [];
|
|
267
|
+
/**版块下的语言列表 */
|
|
268
|
+
this.sectionLanguagesList = [];
|
|
269
|
+
/**版块下的条目类型列表 */
|
|
270
|
+
this.entryTypeList = [];
|
|
271
|
+
/**状态编码 */
|
|
272
|
+
this._entryStatusOptions = entryStatusOptions;
|
|
273
|
+
this.config = inject(ConfigStateService);
|
|
274
|
+
this._SiteSettingsAdminService = inject(SiteSettingsAdminService);
|
|
275
|
+
/**站点设置语言 */
|
|
276
|
+
this.SiteSettingsAdminLanguages = [];
|
|
277
|
+
/**列表相关 */
|
|
278
|
+
this.ColumnMode = ColumnMode;
|
|
279
|
+
this.data = {
|
|
280
|
+
items: [],
|
|
281
|
+
totalCount: 0,
|
|
282
|
+
};
|
|
283
|
+
this.filters = {};
|
|
284
|
+
this.filtersForm = this.fb.group({
|
|
285
|
+
siteId: [''],
|
|
286
|
+
sectionId: [''],
|
|
287
|
+
culture: [''],
|
|
288
|
+
filter: [''],
|
|
289
|
+
});
|
|
270
290
|
}
|
|
271
|
-
fb = inject(FormBuilder);
|
|
272
|
-
_UpdateListService = inject(UpdateListService);
|
|
273
|
-
list = inject(ListService);
|
|
274
291
|
ngOnInit() {
|
|
275
292
|
this.getPageDate();
|
|
276
293
|
this._UpdateListService.updateListEvent.subscribe(() => {
|
|
277
294
|
this.list.get();
|
|
278
295
|
});
|
|
279
296
|
}
|
|
280
|
-
/**站点列表 */
|
|
281
|
-
// siteList: any[any] = []
|
|
282
|
-
/**选择的站点id */
|
|
283
|
-
// siteId: string = ''
|
|
284
|
-
/**站点下的版块 */
|
|
285
|
-
SiteOfSectionList = [];
|
|
286
|
-
/**版块下的语言列表 */
|
|
287
|
-
sectionLanguagesList = [];
|
|
288
|
-
/**版块下的条目类型列表 */
|
|
289
|
-
entryTypeList = [];
|
|
290
|
-
/**状态编码 */
|
|
291
|
-
_entryStatusOptions = entryStatusOptions;
|
|
292
297
|
/**获取页面数据 */
|
|
293
298
|
async getPageDate() {
|
|
294
|
-
// await this.getsiteList()
|
|
295
299
|
await this.getSiteOfSectionList();
|
|
296
300
|
await this.getSectionLanguagesList();
|
|
297
301
|
this.filters = this.filtersForm.value;
|
|
@@ -310,10 +314,8 @@ class EntriesComponent {
|
|
|
310
314
|
/**获取站点下的版块 */
|
|
311
315
|
getSiteOfSectionList() {
|
|
312
316
|
return new Promise((resolve, rejects) => {
|
|
313
|
-
// let siteId = this.filtersForm.get('siteId').value
|
|
314
317
|
this._SectionAdminService.getList({
|
|
315
318
|
maxResultCount: 1000,
|
|
316
|
-
// siteId: siteId
|
|
317
319
|
}).subscribe(res => {
|
|
318
320
|
this.SiteOfSectionList = res.items;
|
|
319
321
|
this.filtersForm.get('sectionId').patchValue(res.items[0]?.id || '');
|
|
@@ -327,8 +329,6 @@ class EntriesComponent {
|
|
|
327
329
|
let sectionId = this.filtersForm.get('sectionId').value;
|
|
328
330
|
this.entryTypeList = this.SiteOfSectionList.find(el => el.id == sectionId)?.entryTypes || [];
|
|
329
331
|
}
|
|
330
|
-
config = inject(ConfigStateService);
|
|
331
|
-
_SiteSettingsAdminService = inject(SiteSettingsAdminService);
|
|
332
332
|
/**获取版块下的语言列表 */
|
|
333
333
|
getSectionLanguagesList() {
|
|
334
334
|
return new Promise(async (resolve, rejects) => {
|
|
@@ -351,8 +351,6 @@ class EntriesComponent {
|
|
|
351
351
|
resolve(LanguagesArray);
|
|
352
352
|
});
|
|
353
353
|
}
|
|
354
|
-
/**站点设置语言 */
|
|
355
|
-
SiteSettingsAdminLanguages = [];
|
|
356
354
|
/**
|
|
357
355
|
* 获取站点设置语言
|
|
358
356
|
*/
|
|
@@ -376,19 +374,6 @@ class EntriesComponent {
|
|
|
376
374
|
queryParams: { cultureName: this.filters.culture, sectionId: this.filters.sectionId, entryTypeId: this.entryTypeList[0].id }
|
|
377
375
|
});
|
|
378
376
|
}
|
|
379
|
-
/**列表相关 */
|
|
380
|
-
ColumnMode = ColumnMode;
|
|
381
|
-
data = {
|
|
382
|
-
items: [],
|
|
383
|
-
totalCount: 0,
|
|
384
|
-
};
|
|
385
|
-
filters = {};
|
|
386
|
-
filtersForm = this.fb.group({
|
|
387
|
-
siteId: [''],
|
|
388
|
-
sectionId: [''],
|
|
389
|
-
culture: [''],
|
|
390
|
-
filter: [''],
|
|
391
|
-
});
|
|
392
377
|
hookToQuery() {
|
|
393
378
|
const getData = (query) => this._EntryAdminService.getList({
|
|
394
379
|
...query,
|
|
@@ -411,8 +396,8 @@ class EntriesComponent {
|
|
|
411
396
|
}
|
|
412
397
|
});
|
|
413
398
|
}
|
|
414
|
-
static
|
|
415
|
-
static
|
|
399
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntriesComponent, deps: [{ token: EntryAdminService }, { token: SectionAdminService }, { token: i3.ToasterService }, { token: i3.ConfirmationService }, { token: i1.ConfigStateService }, { token: i3$1.Router }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
400
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EntriesComponent, selector: "cms-entries", providers: [
|
|
416
401
|
ListService,
|
|
417
402
|
// Provide this token if you want a different debounce time.
|
|
418
403
|
// Default is 300. Cannot be 0. Any value below 100 is not recommended.
|
|
@@ -421,7 +406,7 @@ class EntriesComponent {
|
|
|
421
406
|
provide: EXTENSIONS_IDENTIFIER,
|
|
422
407
|
useValue: ECmsComponent.Entries,
|
|
423
408
|
},
|
|
424
|
-
], ngImport: i0, template: "<abp-page [title]=\"'Cms::Entries' | abpLocalization\" [toolbar]=\"true\">\r\n <abp-page-toolbar-container *ngIf=\"entryTypeList.length < 1\" class=\"col \"></abp-page-toolbar-container>\r\n <abp-page-toolbar-container *ngIf=\"entryTypeList.length > 1\" class=\"col \">\r\n <div class=\"row justify-content-end mx-0 gap-2\" *abpPermission=\"'CmsAdmin.Entry.Create'\">\r\n <div class=\"col-auto px-0 pt-0\">\r\n <div ngbDropdown class=\"d-inline-block\">\r\n <button type=\"button\" class=\"btn btn-primary btn-sm ms-2\" id=\"dropdownBasic1\" ngbDropdownToggle>\r\n <i class=\"fa fa-plus pe-1\" aria-hidden=\"true\"></i>{{'Cms::New' | abpLocalization}}\r\n </button>\r\n <div ngbDropdownMenu aria-labelledby=\"dropdownBasic1\">\r\n <ng-container *ngFor=\"let item of entryTypeList\">\r\n <button ngbDropdownItem [routerLink]=\"['/cms/admin/entries/create']\"\r\n [queryParams]=\"{cultureName: filters.culture,sectionId:filters.sectionId,entryTypeId:item.id}\">{{item.displayName}}</button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n <div id=\"sites-page\" class=\"sites-page\">\r\n <div class=\"card\">\r\n <div class=\"card-body px-2 py-sm-2 border-bottom\" [formGroup]=\"filtersForm\">\r\n <div class=\"row align-items-end\">\r\n <div class=\"mb-2 col-3\">\r\n <label class=\"form-label\">{{'Cms::Sections' | abpLocalization}}\uFF1A</label>\r\n <select class=\"form-select col-auto\" formControlName=\"sectionId\" (change)=\"sectionIdChange()\">\r\n <ng-container *ngFor=\"let item of SiteOfSectionList\">\r\n <option [value]=\"item.id\">{{item.displayName}}</option>\r\n </ng-container>\r\n </select>\r\n </div>\r\n <div class=\"mb-2 col-3\">\r\n <label class=\"form-label\">{{'AbpUi::Languages' | abpLocalization}}\uFF1A</label>\r\n <select class=\"form-select col-auto\" formControlName=\"culture\" (change)=\"cultureChange()\">\r\n <ng-container *ngFor=\"let item of sectionLanguagesList\">\r\n <option [value]=\"item.cultureName\">{{item.displayName}}</option>\r\n </ng-container>\r\n </select>\r\n </div>\r\n \r\n <div class=\"mb-2 col-3\">\r\n <label class=\"form-label\">{{'AbpUi::Search' | abpLocalization}}\uFF1A</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"filter\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\" />\r\n </div>\r\n <div class=\"mb-2 col-3\">\r\n <button class=\"btn btn-primary px-3\" type=\"button\" id=\"button-addon2\" (click)=\"resetData()\">\r\n <i class=\"fa fa-search\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card mb-0\">\r\n <div class=\"card-body p-0\">\r\n <div class=\"table-responsive table-fixed-header\">\r\n <ngx-datatable class=\"material \" [rows]=\"data.items\" [list]=\"list\"\r\n [columnMode]=\"ColumnMode.force\" [headerHeight]=\"50\" [footerHeight]=\"50\" rowHeight=\"auto\"\r\n [virtualization]=\"false\" [externalPaging]=\"true\" [count]=\"data.totalCount\" [scrollbarH]=\"true\">\r\n <ngx-datatable-column [name]=\"'Cms::EntryType' | abpLocalization\" prop=\"entryTypeId\">\r\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n <ng-container *ngFor=\"let item of entryTypeList\">\r\n <ng-container *ngIf=\"item.id === value\">{{item.displayName}}</ng-container>\r\n </ng-container>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n <ngx-datatable-column [name]=\"'Cms::Title' | abpLocalization\" prop=\"title\">\r\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n {{ value }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n <ngx-datatable-column [name]=\"'Cms::Slug' | abpLocalization\" prop=\"slug\">\r\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n {{ value }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n <ngx-datatable-column [name]=\"'Cms::Status' | abpLocalization\" prop=\"status\" [width]=\"80\">\r\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n <ng-container *ngFor=\"let item of _entryStatusOptions\">\r\n <ng-container *ngIf=\"item.value=== value\">{{ 'Cms::Enum:EntryStatus:'+item.key |\r\n abpLocalization }}</ng-container>\r\n </ng-container>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n <ngx-datatable-column [name]=\"'Cms::PublishTime' | abpLocalization\" prop=\"publishTime\" [width]=\"190\">\r\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n {{value | date: 'YYYY/MM/dd HH:mm:s' }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n <ngx-datatable-column [sortable]=\"false\" [name]=\"'AbpUi::Actions' | abpLocalization\"\r\n cellClass=\"cellClassRight\" [frozenRight]=\"true\" [width]=\"110\">\r\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n <div ngbDropdown container=\"body\">\r\n <button type=\"button\" class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\r\n <i class=\"me-1 fa fa-cog\"></i> {{'AbpUi::Actions' | abpLocalization}}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem\r\n routerLink=\"/cms/admin/entries/{{row.id}}/edit\">{{'AbpUi::Edit' |\r\n abpLocalization}}</button>\r\n <button ngbDropdownItem (click)=\"deletefield(row)\">{{'AbpUi::Delete' |\r\n abpLocalization}}</button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ngx-datatable>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>", styles: ["::ng-deep .sites-page .dignite_page{background:transparent}::ng-deep .sites-page .list-group-flush>.list-group-item:first-child{border-top-width:var(--bs-list-group-border-width)}::ng-deep .sites-page .card-header input{flex:2 1 auto}::ng-deep .sites-page .card-header .form-select{padding:.475rem 3.75rem .475rem 1.25rem}::ng-deep .sites-page .morentr{border:2px solid transparent}::ng-deep .sites-page .borderdrag{border:2px solid var(--ck-color-selector-column-resizer-hover)!important}::ng-deep .sites-page .borderdragtd{background-color:var(--ck-color-selector-column-resizer-hover)!important}::ng-deep .sites-page .testtr{border-color:transparent}::ng-deep .sites-page .testtr td{padding:2px}::ng-deep .sites-page .testtr:hover{background-color:transparent}.cdk-drag-preview{display:table;box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:0}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}::ng-deep .sites-modal-form .form-control{padding:.4rem 1.25rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "component", type: i8.DatatableComponent, selector: "ngx-datatable", inputs: ["targetMarkerTemplate", "rows", "groupRowsBy", "groupedRows", "columns", "selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "limit", "count", "offset", "loadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "virtualization", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { kind: "directive", type: i8.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { kind: "directive", type: i8.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "directive", type: i3.NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: ["list"], exportAs: ["ngxDatatableList"] }, { kind: "directive", type: i10.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i10.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i10.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i10.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i11.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i11.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
|
|
409
|
+
], ngImport: i0, template: "<abp-page [title]=\"'Cms::Entries' | abpLocalization\" [toolbar]=\"true\">\r\n <abp-page-toolbar-container *ngIf=\"entryTypeList.length < 1\" class=\"col \"></abp-page-toolbar-container>\r\n <abp-page-toolbar-container *ngIf=\"entryTypeList.length > 1\" class=\"col \">\r\n <div class=\"row justify-content-end mx-0 gap-2\" *abpPermission=\"'CmsAdmin.Entry.Create'\">\r\n <div class=\"col-auto px-0 pt-0\">\r\n <div ngbDropdown class=\"d-inline-block\">\r\n <button type=\"button\" class=\"btn btn-primary btn-sm ms-2\" id=\"dropdownBasic1\" ngbDropdownToggle>\r\n <i class=\"fa fa-plus pe-1\" aria-hidden=\"true\"></i>{{'Cms::New' | abpLocalization}}\r\n </button>\r\n <div ngbDropdownMenu aria-labelledby=\"dropdownBasic1\">\r\n <ng-container *ngFor=\"let item of entryTypeList\">\r\n <button ngbDropdownItem [routerLink]=\"['/cms/admin/entries/create']\"\r\n [queryParams]=\"{cultureName: filters.culture,sectionId:filters.sectionId,entryTypeId:item.id}\">{{item.displayName}}</button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n <div id=\"sites-page\" class=\"sites-page\">\r\n <div class=\"card\">\r\n <div class=\"card-body px-2 py-sm-2 border-bottom\" [formGroup]=\"filtersForm\">\r\n <div class=\"row align-items-end\">\r\n <div class=\"mb-2 col-3\">\r\n <label class=\"form-label\">{{'Cms::Sections' | abpLocalization}}\uFF1A</label>\r\n <select class=\"form-select col-auto\" formControlName=\"sectionId\" (change)=\"sectionIdChange()\">\r\n <ng-container *ngFor=\"let item of SiteOfSectionList\">\r\n <option [value]=\"item.id\">{{item.displayName}}</option>\r\n </ng-container>\r\n </select>\r\n </div>\r\n <div class=\"mb-2 col-3\">\r\n <label class=\"form-label\">{{'AbpUi::Languages' | abpLocalization}}\uFF1A</label>\r\n <select class=\"form-select col-auto\" formControlName=\"culture\" (change)=\"cultureChange()\">\r\n <ng-container *ngFor=\"let item of sectionLanguagesList\">\r\n <option [value]=\"item.cultureName\">{{item.displayName}}</option>\r\n </ng-container>\r\n </select>\r\n </div>\r\n \r\n <div class=\"mb-2 col-3\">\r\n <label class=\"form-label\">{{'AbpUi::Search' | abpLocalization}}\uFF1A</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"filter\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\" />\r\n </div>\r\n <div class=\"mb-2 col-3\">\r\n <button class=\"btn btn-primary px-3\" type=\"button\" id=\"button-addon2\" (click)=\"resetData()\">\r\n <i class=\"fa fa-search\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card mb-0\">\r\n <div class=\"card-body p-0\">\r\n <div class=\"table-responsive table-fixed-header\">\r\n <ngx-datatable class=\"material \" [rows]=\"data.items\" [list]=\"list\"\r\n [columnMode]=\"ColumnMode.force\" [headerHeight]=\"50\" [footerHeight]=\"50\" rowHeight=\"auto\"\r\n [virtualization]=\"false\" [externalPaging]=\"true\" [count]=\"data.totalCount\" [scrollbarH]=\"true\">\r\n <ngx-datatable-column [name]=\"'Cms::Title' | abpLocalization\" prop=\"title\">\r\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n {{ value }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n <ngx-datatable-column [name]=\"'Cms::EntryType' | abpLocalization\" prop=\"entryTypeId\">\r\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n <ng-container *ngFor=\"let item of entryTypeList\">\r\n <ng-container *ngIf=\"item.id === value\">{{item.displayName}}</ng-container>\r\n </ng-container>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n <ngx-datatable-column [name]=\"'Cms::Slug' | abpLocalization\" prop=\"slug\">\r\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n {{ value }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n <ngx-datatable-column [name]=\"'Cms::Status' | abpLocalization\" prop=\"status\" [width]=\"80\">\r\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n <ng-container *ngFor=\"let item of _entryStatusOptions\">\r\n <ng-container *ngIf=\"item.value=== value\">{{ 'Cms::Enum:EntryStatus:'+item.key |\r\n abpLocalization }}</ng-container>\r\n </ng-container>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n <ngx-datatable-column [name]=\"'Cms::PublishTime' | abpLocalization\" prop=\"publishTime\" [width]=\"190\">\r\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n {{value | date: 'YYYY/MM/dd HH:mm:s' }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n <ngx-datatable-column [sortable]=\"false\" [name]=\"'AbpUi::Actions' | abpLocalization\"\r\n cellClass=\"cellClassRight\" [frozenRight]=\"true\" [width]=\"110\">\r\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n <div ngbDropdown container=\"body\">\r\n <button type=\"button\" class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\r\n <i class=\"me-1 fa fa-cog\"></i> {{'AbpUi::Actions' | abpLocalization}}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem\r\n routerLink=\"/cms/admin/entries/{{row.id}}/edit\">{{'AbpUi::Edit' |\r\n abpLocalization}}</button>\r\n <button ngbDropdownItem (click)=\"deletefield(row)\">{{'AbpUi::Delete' |\r\n abpLocalization}}</button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ngx-datatable>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>", styles: ["::ng-deep .sites-page .dignite_page{background:transparent}::ng-deep .sites-page .list-group-flush>.list-group-item:first-child{border-top-width:var(--bs-list-group-border-width)}::ng-deep .sites-page .card-header input{flex:2 1 auto}::ng-deep .sites-page .card-header .form-select{padding:.475rem 3.75rem .475rem 1.25rem}::ng-deep .sites-page .morentr{border:2px solid transparent}::ng-deep .sites-page .borderdrag{border:2px solid var(--ck-color-selector-column-resizer-hover)!important}::ng-deep .sites-page .borderdragtd{background-color:var(--ck-color-selector-column-resizer-hover)!important}::ng-deep .sites-page .testtr{border-color:transparent}::ng-deep .sites-page .testtr td{padding:2px}::ng-deep .sites-page .testtr:hover{background-color:transparent}.cdk-drag-preview{display:table;box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:0}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}::ng-deep .sites-modal-form .form-control{padding:.4rem 1.25rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "component", type: i8.DatatableComponent, selector: "ngx-datatable", inputs: ["targetMarkerTemplate", "rows", "groupRowsBy", "groupedRows", "columns", "selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "limit", "count", "offset", "loadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "virtualization", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { kind: "directive", type: i8.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { kind: "directive", type: i8.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "directive", type: i3.NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: ["list"], exportAs: ["ngxDatatableList"] }, { kind: "directive", type: i10.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i10.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i10.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i10.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i11.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i11.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
425
410
|
}
|
|
426
411
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntriesComponent, decorators: [{
|
|
427
412
|
type: Component,
|
|
@@ -434,30 +419,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
434
419
|
provide: EXTENSIONS_IDENTIFIER,
|
|
435
420
|
useValue: ECmsComponent.Entries,
|
|
436
421
|
},
|
|
437
|
-
], template: "<abp-page [title]=\"'Cms::Entries' | abpLocalization\" [toolbar]=\"true\">\r\n <abp-page-toolbar-container *ngIf=\"entryTypeList.length < 1\" class=\"col \"></abp-page-toolbar-container>\r\n <abp-page-toolbar-container *ngIf=\"entryTypeList.length > 1\" class=\"col \">\r\n <div class=\"row justify-content-end mx-0 gap-2\" *abpPermission=\"'CmsAdmin.Entry.Create'\">\r\n <div class=\"col-auto px-0 pt-0\">\r\n <div ngbDropdown class=\"d-inline-block\">\r\n <button type=\"button\" class=\"btn btn-primary btn-sm ms-2\" id=\"dropdownBasic1\" ngbDropdownToggle>\r\n <i class=\"fa fa-plus pe-1\" aria-hidden=\"true\"></i>{{'Cms::New' | abpLocalization}}\r\n </button>\r\n <div ngbDropdownMenu aria-labelledby=\"dropdownBasic1\">\r\n <ng-container *ngFor=\"let item of entryTypeList\">\r\n <button ngbDropdownItem [routerLink]=\"['/cms/admin/entries/create']\"\r\n [queryParams]=\"{cultureName: filters.culture,sectionId:filters.sectionId,entryTypeId:item.id}\">{{item.displayName}}</button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n <div id=\"sites-page\" class=\"sites-page\">\r\n <div class=\"card\">\r\n <div class=\"card-body px-2 py-sm-2 border-bottom\" [formGroup]=\"filtersForm\">\r\n <div class=\"row align-items-end\">\r\n <div class=\"mb-2 col-3\">\r\n <label class=\"form-label\">{{'Cms::Sections' | abpLocalization}}\uFF1A</label>\r\n <select class=\"form-select col-auto\" formControlName=\"sectionId\" (change)=\"sectionIdChange()\">\r\n <ng-container *ngFor=\"let item of SiteOfSectionList\">\r\n <option [value]=\"item.id\">{{item.displayName}}</option>\r\n </ng-container>\r\n </select>\r\n </div>\r\n <div class=\"mb-2 col-3\">\r\n <label class=\"form-label\">{{'AbpUi::Languages' | abpLocalization}}\uFF1A</label>\r\n <select class=\"form-select col-auto\" formControlName=\"culture\" (change)=\"cultureChange()\">\r\n <ng-container *ngFor=\"let item of sectionLanguagesList\">\r\n <option [value]=\"item.cultureName\">{{item.displayName}}</option>\r\n </ng-container>\r\n </select>\r\n </div>\r\n \r\n <div class=\"mb-2 col-3\">\r\n <label class=\"form-label\">{{'AbpUi::Search' | abpLocalization}}\uFF1A</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"filter\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\" />\r\n </div>\r\n <div class=\"mb-2 col-3\">\r\n <button class=\"btn btn-primary px-3\" type=\"button\" id=\"button-addon2\" (click)=\"resetData()\">\r\n <i class=\"fa fa-search\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card mb-0\">\r\n <div class=\"card-body p-0\">\r\n <div class=\"table-responsive table-fixed-header\">\r\n <ngx-datatable class=\"material \" [rows]=\"data.items\" [list]=\"list\"\r\n [columnMode]=\"ColumnMode.force\" [headerHeight]=\"50\" [footerHeight]=\"50\" rowHeight=\"auto\"\r\n [virtualization]=\"false\" [externalPaging]=\"true\" [count]=\"data.totalCount\" [scrollbarH]=\"true\">\r\n <ngx-datatable-column [name]=\"'Cms::
|
|
422
|
+
], template: "<abp-page [title]=\"'Cms::Entries' | abpLocalization\" [toolbar]=\"true\">\r\n <abp-page-toolbar-container *ngIf=\"entryTypeList.length < 1\" class=\"col \"></abp-page-toolbar-container>\r\n <abp-page-toolbar-container *ngIf=\"entryTypeList.length > 1\" class=\"col \">\r\n <div class=\"row justify-content-end mx-0 gap-2\" *abpPermission=\"'CmsAdmin.Entry.Create'\">\r\n <div class=\"col-auto px-0 pt-0\">\r\n <div ngbDropdown class=\"d-inline-block\">\r\n <button type=\"button\" class=\"btn btn-primary btn-sm ms-2\" id=\"dropdownBasic1\" ngbDropdownToggle>\r\n <i class=\"fa fa-plus pe-1\" aria-hidden=\"true\"></i>{{'Cms::New' | abpLocalization}}\r\n </button>\r\n <div ngbDropdownMenu aria-labelledby=\"dropdownBasic1\">\r\n <ng-container *ngFor=\"let item of entryTypeList\">\r\n <button ngbDropdownItem [routerLink]=\"['/cms/admin/entries/create']\"\r\n [queryParams]=\"{cultureName: filters.culture,sectionId:filters.sectionId,entryTypeId:item.id}\">{{item.displayName}}</button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n <div id=\"sites-page\" class=\"sites-page\">\r\n <div class=\"card\">\r\n <div class=\"card-body px-2 py-sm-2 border-bottom\" [formGroup]=\"filtersForm\">\r\n <div class=\"row align-items-end\">\r\n <div class=\"mb-2 col-3\">\r\n <label class=\"form-label\">{{'Cms::Sections' | abpLocalization}}\uFF1A</label>\r\n <select class=\"form-select col-auto\" formControlName=\"sectionId\" (change)=\"sectionIdChange()\">\r\n <ng-container *ngFor=\"let item of SiteOfSectionList\">\r\n <option [value]=\"item.id\">{{item.displayName}}</option>\r\n </ng-container>\r\n </select>\r\n </div>\r\n <div class=\"mb-2 col-3\">\r\n <label class=\"form-label\">{{'AbpUi::Languages' | abpLocalization}}\uFF1A</label>\r\n <select class=\"form-select col-auto\" formControlName=\"culture\" (change)=\"cultureChange()\">\r\n <ng-container *ngFor=\"let item of sectionLanguagesList\">\r\n <option [value]=\"item.cultureName\">{{item.displayName}}</option>\r\n </ng-container>\r\n </select>\r\n </div>\r\n \r\n <div class=\"mb-2 col-3\">\r\n <label class=\"form-label\">{{'AbpUi::Search' | abpLocalization}}\uFF1A</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"filter\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\" />\r\n </div>\r\n <div class=\"mb-2 col-3\">\r\n <button class=\"btn btn-primary px-3\" type=\"button\" id=\"button-addon2\" (click)=\"resetData()\">\r\n <i class=\"fa fa-search\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card mb-0\">\r\n <div class=\"card-body p-0\">\r\n <div class=\"table-responsive table-fixed-header\">\r\n <ngx-datatable class=\"material \" [rows]=\"data.items\" [list]=\"list\"\r\n [columnMode]=\"ColumnMode.force\" [headerHeight]=\"50\" [footerHeight]=\"50\" rowHeight=\"auto\"\r\n [virtualization]=\"false\" [externalPaging]=\"true\" [count]=\"data.totalCount\" [scrollbarH]=\"true\">\r\n <ngx-datatable-column [name]=\"'Cms::Title' | abpLocalization\" prop=\"title\">\r\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n {{ value }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n <ngx-datatable-column [name]=\"'Cms::EntryType' | abpLocalization\" prop=\"entryTypeId\">\r\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n <ng-container *ngFor=\"let item of entryTypeList\">\r\n <ng-container *ngIf=\"item.id === value\">{{item.displayName}}</ng-container>\r\n </ng-container>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n <ngx-datatable-column [name]=\"'Cms::Slug' | abpLocalization\" prop=\"slug\">\r\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n {{ value }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n <ngx-datatable-column [name]=\"'Cms::Status' | abpLocalization\" prop=\"status\" [width]=\"80\">\r\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n <ng-container *ngFor=\"let item of _entryStatusOptions\">\r\n <ng-container *ngIf=\"item.value=== value\">{{ 'Cms::Enum:EntryStatus:'+item.key |\r\n abpLocalization }}</ng-container>\r\n </ng-container>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n <ngx-datatable-column [name]=\"'Cms::PublishTime' | abpLocalization\" prop=\"publishTime\" [width]=\"190\">\r\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n {{value | date: 'YYYY/MM/dd HH:mm:s' }}\r\n </ng-template>\r\n </ngx-datatable-column>\r\n <ngx-datatable-column [sortable]=\"false\" [name]=\"'AbpUi::Actions' | abpLocalization\"\r\n cellClass=\"cellClassRight\" [frozenRight]=\"true\" [width]=\"110\">\r\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\r\n <div ngbDropdown container=\"body\">\r\n <button type=\"button\" class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\r\n <i class=\"me-1 fa fa-cog\"></i> {{'AbpUi::Actions' | abpLocalization}}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem\r\n routerLink=\"/cms/admin/entries/{{row.id}}/edit\">{{'AbpUi::Edit' |\r\n abpLocalization}}</button>\r\n <button ngbDropdownItem (click)=\"deletefield(row)\">{{'AbpUi::Delete' |\r\n abpLocalization}}</button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ngx-datatable>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>", styles: ["::ng-deep .sites-page .dignite_page{background:transparent}::ng-deep .sites-page .list-group-flush>.list-group-item:first-child{border-top-width:var(--bs-list-group-border-width)}::ng-deep .sites-page .card-header input{flex:2 1 auto}::ng-deep .sites-page .card-header .form-select{padding:.475rem 3.75rem .475rem 1.25rem}::ng-deep .sites-page .morentr{border:2px solid transparent}::ng-deep .sites-page .borderdrag{border:2px solid var(--ck-color-selector-column-resizer-hover)!important}::ng-deep .sites-page .borderdragtd{background-color:var(--ck-color-selector-column-resizer-hover)!important}::ng-deep .sites-page .testtr{border-color:transparent}::ng-deep .sites-page .testtr td{padding:2px}::ng-deep .sites-page .testtr:hover{background-color:transparent}.cdk-drag-preview{display:table;box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:0}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}::ng-deep .sites-modal-form .form-control{padding:.4rem 1.25rem}\n"] }]
|
|
438
423
|
}], ctorParameters: function () { return [{ type: EntryAdminService }, { type: SectionAdminService }, { type: i3.ToasterService }, { type: i3.ConfirmationService }, { type: i1.ConfigStateService }, { type: i3$1.Router }, { type: i1.LocalizationService }]; } });
|
|
439
424
|
|
|
440
425
|
class CreateOrUpdateEntryInputBase {
|
|
441
|
-
/**语言 */
|
|
442
|
-
culture = ['', [Validators.required]];
|
|
443
|
-
/**条目id */
|
|
444
|
-
entryTypeId = [''];
|
|
445
|
-
/**标题 */
|
|
446
|
-
title = ['', [Validators.required]];
|
|
447
|
-
/**别名 */
|
|
448
|
-
slug = ['', [Validators.required]];
|
|
449
|
-
/**是否是草稿 */
|
|
450
|
-
draft = ['', []];
|
|
451
|
-
/**发布时间 */
|
|
452
|
-
publishTime = ['', [Validators.required]];
|
|
453
|
-
/**上级目录 */
|
|
454
|
-
parentId = [null];
|
|
455
|
-
/**修订说明 */
|
|
456
|
-
versionNotes = [null];
|
|
457
|
-
/**版本 */
|
|
458
|
-
initialVersionId = [null];
|
|
459
|
-
extraProperties = new FormGroup({});
|
|
460
426
|
constructor(data) {
|
|
427
|
+
/**语言 */
|
|
428
|
+
this.culture = ['', [Validators.required]];
|
|
429
|
+
/**条目id */
|
|
430
|
+
this.entryTypeId = [''];
|
|
431
|
+
/**标题 */
|
|
432
|
+
this.title = ['', [Validators.required]];
|
|
433
|
+
/**别名 */
|
|
434
|
+
this.slug = ['', [Validators.required]];
|
|
435
|
+
/**是否是草稿 */
|
|
436
|
+
this.draft = ['', []];
|
|
437
|
+
/**发布时间 */
|
|
438
|
+
this.publishTime = ['', [Validators.required]];
|
|
439
|
+
/**上级目录 */
|
|
440
|
+
this.parentId = [null];
|
|
441
|
+
/**修订说明 */
|
|
442
|
+
this.versionNotes = [null];
|
|
443
|
+
/**版本 */
|
|
444
|
+
this.initialVersionId = [null];
|
|
445
|
+
this.extraProperties = new FormGroup({});
|
|
461
446
|
if (data) {
|
|
462
447
|
for (const key in data) {
|
|
463
448
|
if (data.hasOwnProperty(key)) {
|
|
@@ -469,36 +454,35 @@ class CreateOrUpdateEntryInputBase {
|
|
|
469
454
|
}
|
|
470
455
|
|
|
471
456
|
class FieldGroupAdminService {
|
|
472
|
-
restService;
|
|
473
|
-
apiName = 'CmsAdmin';
|
|
474
|
-
create = (input, config) => this.restService.request({
|
|
475
|
-
method: 'POST',
|
|
476
|
-
url: '/api/cms-admin/field-groups',
|
|
477
|
-
body: input,
|
|
478
|
-
}, { apiName: this.apiName, ...config });
|
|
479
|
-
delete = (id, config) => this.restService.request({
|
|
480
|
-
method: 'DELETE',
|
|
481
|
-
url: `/api/cms-admin/field-groups/${id}`,
|
|
482
|
-
}, { apiName: this.apiName, ...config });
|
|
483
|
-
get = (id, config) => this.restService.request({
|
|
484
|
-
method: 'GET',
|
|
485
|
-
url: `/api/cms-admin/field-groups/${id}`,
|
|
486
|
-
}, { apiName: this.apiName, ...config });
|
|
487
|
-
getList = (input, config) => this.restService.request({
|
|
488
|
-
method: 'GET',
|
|
489
|
-
url: '/api/cms-admin/field-groups',
|
|
490
|
-
params: { input },
|
|
491
|
-
}, { apiName: this.apiName, ...config });
|
|
492
|
-
update = (id, input, config) => this.restService.request({
|
|
493
|
-
method: 'PUT',
|
|
494
|
-
url: `/api/cms-admin/field-groups/${id}`,
|
|
495
|
-
body: input,
|
|
496
|
-
}, { apiName: this.apiName, ...config });
|
|
497
457
|
constructor(restService) {
|
|
498
458
|
this.restService = restService;
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
459
|
+
this.apiName = 'CmsAdmin';
|
|
460
|
+
this.create = (input, config) => this.restService.request({
|
|
461
|
+
method: 'POST',
|
|
462
|
+
url: '/api/cms-admin/field-groups',
|
|
463
|
+
body: input,
|
|
464
|
+
}, { apiName: this.apiName, ...config });
|
|
465
|
+
this.delete = (id, config) => this.restService.request({
|
|
466
|
+
method: 'DELETE',
|
|
467
|
+
url: `/api/cms-admin/field-groups/${id}`,
|
|
468
|
+
}, { apiName: this.apiName, ...config });
|
|
469
|
+
this.get = (id, config) => this.restService.request({
|
|
470
|
+
method: 'GET',
|
|
471
|
+
url: `/api/cms-admin/field-groups/${id}`,
|
|
472
|
+
}, { apiName: this.apiName, ...config });
|
|
473
|
+
this.getList = (input, config) => this.restService.request({
|
|
474
|
+
method: 'GET',
|
|
475
|
+
url: '/api/cms-admin/field-groups',
|
|
476
|
+
params: { input },
|
|
477
|
+
}, { apiName: this.apiName, ...config });
|
|
478
|
+
this.update = (id, input, config) => this.restService.request({
|
|
479
|
+
method: 'PUT',
|
|
480
|
+
url: `/api/cms-admin/field-groups/${id}`,
|
|
481
|
+
body: input,
|
|
482
|
+
}, { apiName: this.apiName, ...config });
|
|
483
|
+
}
|
|
484
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FieldGroupAdminService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
485
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FieldGroupAdminService, providedIn: 'root' }); }
|
|
502
486
|
}
|
|
503
487
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FieldGroupAdminService, decorators: [{
|
|
504
488
|
type: Injectable,
|
|
@@ -508,17 +492,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
508
492
|
}], ctorParameters: function () { return [{ type: i1.RestService }]; } });
|
|
509
493
|
|
|
510
494
|
class FormAdminService {
|
|
511
|
-
restService;
|
|
512
|
-
apiName = 'CmsAdmin';
|
|
513
|
-
getFormControls = (config) => this.restService.request({
|
|
514
|
-
method: 'GET',
|
|
515
|
-
url: '/api/cms-admin/dynamic-forms/forms',
|
|
516
|
-
}, { apiName: this.apiName, ...config });
|
|
517
495
|
constructor(restService) {
|
|
518
496
|
this.restService = restService;
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
497
|
+
this.apiName = 'CmsAdmin';
|
|
498
|
+
this.getFormControls = (config) => this.restService.request({
|
|
499
|
+
method: 'GET',
|
|
500
|
+
url: '/api/cms-admin/dynamic-forms/forms',
|
|
501
|
+
}, { apiName: this.apiName, ...config });
|
|
502
|
+
}
|
|
503
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormAdminService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
504
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormAdminService, providedIn: 'root' }); }
|
|
522
505
|
}
|
|
523
506
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormAdminService, decorators: [{
|
|
524
507
|
type: Injectable,
|
|
@@ -528,22 +511,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
528
511
|
}], ctorParameters: function () { return [{ type: i1.RestService }]; } });
|
|
529
512
|
|
|
530
513
|
class FieldAbstractsService {
|
|
531
|
-
_FieldGroupAdminService;
|
|
532
|
-
_FormAdminService;
|
|
533
514
|
constructor(_FieldGroupAdminService, _FormAdminService) {
|
|
534
515
|
this._FieldGroupAdminService = _FieldGroupAdminService;
|
|
535
516
|
this._FormAdminService = _FormAdminService;
|
|
517
|
+
/**字段分组列表 */
|
|
518
|
+
this.fieldGroupList = [];
|
|
519
|
+
/**表单控件类型 */
|
|
520
|
+
this.fromControlList = [];
|
|
536
521
|
}
|
|
537
|
-
/**字段分组列表 */
|
|
538
|
-
fieldGroupList = [];
|
|
539
522
|
/**获取字段分组列表 */
|
|
540
523
|
getfieldGroupList() {
|
|
541
524
|
this._FieldGroupAdminService.getList({}).subscribe(res => {
|
|
542
525
|
this.fieldGroupList = res.items;
|
|
543
526
|
});
|
|
544
527
|
}
|
|
545
|
-
/**表单控件类型 */
|
|
546
|
-
fromControlList = [];
|
|
547
528
|
/**获取表单控件类型 */
|
|
548
529
|
getFromControlList() {
|
|
549
530
|
return new Promise((resolve, reject) => {
|
|
@@ -557,8 +538,8 @@ class FieldAbstractsService {
|
|
|
557
538
|
// return this.fromControlList.filter(el => el.name !== typeName)
|
|
558
539
|
return this.fromControlList;
|
|
559
540
|
}
|
|
560
|
-
static
|
|
561
|
-
static
|
|
541
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FieldAbstractsService, deps: [{ token: FieldGroupAdminService }, { token: FormAdminService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
542
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FieldAbstractsService, providedIn: 'root' }); }
|
|
562
543
|
}
|
|
563
544
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FieldAbstractsService, decorators: [{
|
|
564
545
|
type: Injectable,
|
|
@@ -568,16 +549,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
568
549
|
}], ctorParameters: function () { return [{ type: FieldGroupAdminService }, { type: FormAdminService }]; } });
|
|
569
550
|
|
|
570
551
|
class CmsService {
|
|
571
|
-
restService;
|
|
572
|
-
apiName = 'Cms';
|
|
573
552
|
constructor(restService) {
|
|
574
553
|
this.restService = restService;
|
|
554
|
+
this.apiName = 'Cms';
|
|
575
555
|
}
|
|
576
556
|
sample() {
|
|
577
557
|
return this.restService.request({ method: 'GET', url: '/api/Cms/sample' }, { apiName: this.apiName });
|
|
578
558
|
}
|
|
579
|
-
static
|
|
580
|
-
static
|
|
559
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CmsService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
560
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CmsService, providedIn: 'root' }); }
|
|
581
561
|
}
|
|
582
562
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CmsService, decorators: [{
|
|
583
563
|
type: Injectable,
|
|
@@ -587,7 +567,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
587
567
|
}], ctorParameters: function () { return [{ type: i1.RestService }]; } });
|
|
588
568
|
|
|
589
569
|
class CmsApiService {
|
|
590
|
-
titleService;
|
|
591
570
|
constructor(titleService) {
|
|
592
571
|
this.titleService = titleService;
|
|
593
572
|
}
|
|
@@ -651,8 +630,8 @@ class CmsApiService {
|
|
|
651
630
|
}
|
|
652
631
|
return result;
|
|
653
632
|
}
|
|
654
|
-
static
|
|
655
|
-
static
|
|
633
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CmsApiService, deps: [{ token: i1$2.Title }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
634
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CmsApiService, providedIn: 'root' }); }
|
|
656
635
|
}
|
|
657
636
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CmsApiService, decorators: [{
|
|
658
637
|
type: Injectable,
|
|
@@ -662,58 +641,66 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
662
641
|
}], ctorParameters: function () { return [{ type: i1$2.Title }]; } });
|
|
663
642
|
|
|
664
643
|
class SimpleReuseStrategy {
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
644
|
+
static { this.cacheRouters = new Map(); }
|
|
645
|
+
static deleteRouteCache(url) {
|
|
646
|
+
if (SimpleReuseStrategy.cacheRouters.has(url)) {
|
|
647
|
+
const handle = SimpleReuseStrategy.cacheRouters.get(url);
|
|
648
|
+
try {
|
|
649
|
+
handle.componentRef.destory();
|
|
650
|
+
}
|
|
651
|
+
catch (e) { }
|
|
652
|
+
SimpleReuseStrategy.cacheRouters.delete(url);
|
|
672
653
|
}
|
|
673
|
-
return true;
|
|
674
654
|
}
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
this.handlers[key] = handle;
|
|
680
|
-
}
|
|
655
|
+
static deleteAllRouteCache() {
|
|
656
|
+
SimpleReuseStrategy.cacheRouters.forEach((handle, key) => {
|
|
657
|
+
SimpleReuseStrategy.deleteRouteCache(key);
|
|
658
|
+
});
|
|
681
659
|
}
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
}
|
|
687
|
-
return false;
|
|
660
|
+
// one 进入路由触发,是否同一路由时复用路由
|
|
661
|
+
shouldReuseRoute(future, curr) {
|
|
662
|
+
return future.routeConfig === curr.routeConfig &&
|
|
663
|
+
JSON.stringify(future.params) === JSON.stringify(curr.params);
|
|
688
664
|
}
|
|
689
|
-
//
|
|
665
|
+
// 获取存储路由
|
|
690
666
|
retrieve(route) {
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
667
|
+
const url = this.getFullRouteURL(route);
|
|
668
|
+
if (route.data.keep && SimpleReuseStrategy.cacheRouters.has(url)) {
|
|
669
|
+
return SimpleReuseStrategy.cacheRouters.get(url);
|
|
670
|
+
}
|
|
671
|
+
else {
|
|
695
672
|
return null;
|
|
696
|
-
if (route.component?.name) {
|
|
697
|
-
return this.handlers[route.component?.name];
|
|
698
673
|
}
|
|
699
|
-
return null;
|
|
700
674
|
}
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
return
|
|
675
|
+
// 是否允许复用路由
|
|
676
|
+
shouldDetach(route) {
|
|
677
|
+
return Boolean(route.data.keep);
|
|
678
|
+
}
|
|
679
|
+
// 当路由离开时会触发,存储路由
|
|
680
|
+
store(route, handle) {
|
|
681
|
+
const url = this.getFullRouteURL(route);
|
|
682
|
+
SimpleReuseStrategy.cacheRouters.set(url, handle);
|
|
683
|
+
}
|
|
684
|
+
// 是否允许还原路由
|
|
685
|
+
shouldAttach(route) {
|
|
686
|
+
const url = this.getFullRouteURL(route);
|
|
687
|
+
return Boolean(route.data.keep) && SimpleReuseStrategy.cacheRouters.has(url);
|
|
688
|
+
}
|
|
689
|
+
// 获取当前路由url
|
|
690
|
+
getFullRouteURL(route) {
|
|
691
|
+
const { pathFromRoot } = route;
|
|
692
|
+
let fullRouteUrlPath = [];
|
|
693
|
+
pathFromRoot.forEach((item) => {
|
|
694
|
+
fullRouteUrlPath = fullRouteUrlPath.concat(this.getRouteUrlPath(item));
|
|
695
|
+
});
|
|
696
|
+
return `/${fullRouteUrlPath.join('/')}`;
|
|
697
|
+
}
|
|
698
|
+
getRouteUrlPath(route) {
|
|
699
|
+
return route.url.map(urlSegment => urlSegment.path);
|
|
704
700
|
}
|
|
705
701
|
}
|
|
706
702
|
|
|
707
703
|
class CreateOrEditEntriesComponent {
|
|
708
|
-
toaster;
|
|
709
|
-
_location;
|
|
710
|
-
configState;
|
|
711
|
-
_SectionAdminService;
|
|
712
|
-
_EntryAdminService;
|
|
713
|
-
datePipe;
|
|
714
|
-
_LocalizationService;
|
|
715
|
-
router;
|
|
716
|
-
_CmsApiService;
|
|
717
704
|
constructor(toaster, _location, configState, _SectionAdminService, _EntryAdminService, datePipe, _LocalizationService, router, _CmsApiService) {
|
|
718
705
|
this.toaster = toaster;
|
|
719
706
|
this._location = _location;
|
|
@@ -724,43 +711,43 @@ class CreateOrEditEntriesComponent {
|
|
|
724
711
|
this._LocalizationService = _LocalizationService;
|
|
725
712
|
this.router = router;
|
|
726
713
|
this._CmsApiService = _CmsApiService;
|
|
714
|
+
/**语言 */
|
|
715
|
+
this.cultureName = '';
|
|
716
|
+
/**条目id */
|
|
717
|
+
this.entryTypeId = '';
|
|
718
|
+
/**新建版本的版本id,同条目id */
|
|
719
|
+
this.RevisionEntryId = '';
|
|
720
|
+
/**选择的条目项 */
|
|
721
|
+
this.entryTypesItem = '';
|
|
722
|
+
/**版块id */
|
|
723
|
+
this.sectionId = '';
|
|
724
|
+
/**版块详情 */
|
|
725
|
+
this.SectionSelect = '';
|
|
726
|
+
/**语言列表 */
|
|
727
|
+
this.languagesList = [];
|
|
728
|
+
/**条目类型列表-用于选择上级条目 */
|
|
729
|
+
this.entryTypesList = [];
|
|
730
|
+
/**版本列表 */
|
|
731
|
+
this.AllVersionsList = [];
|
|
732
|
+
/**是否是编辑 */
|
|
733
|
+
this.isEdit = false;
|
|
734
|
+
/**来自父组件的传值 */
|
|
735
|
+
this.FromParentQueryParams = '';
|
|
736
|
+
/**指定id的条目信息 */
|
|
737
|
+
this.entrySelect = '';
|
|
738
|
+
this.time = 0;
|
|
739
|
+
this.config = inject(ConfigStateService);
|
|
727
740
|
}
|
|
728
|
-
/**语言 */
|
|
729
|
-
cultureName = '';
|
|
730
|
-
/**条目id */
|
|
731
|
-
entryTypeId = '';
|
|
732
|
-
/**新建版本的版本id,同条目id */
|
|
733
|
-
RevisionEntryId = '';
|
|
734
|
-
/**选择的条目项 */
|
|
735
|
-
entryTypesItem = '';
|
|
736
|
-
/**版块id */
|
|
737
|
-
sectionId = '';
|
|
738
|
-
/**版块详情 */
|
|
739
|
-
SectionSelect = '';
|
|
740
|
-
/**语言列表 */
|
|
741
|
-
languagesList = [];
|
|
742
|
-
/**条目类型列表-用于选择上级条目 */
|
|
743
|
-
entryTypesList = [];
|
|
744
|
-
/**版本列表 */
|
|
745
|
-
AllVersionsList = [];
|
|
746
|
-
/**是否是编辑 */
|
|
747
|
-
isEdit = false;
|
|
748
|
-
/**来自父组件的传值 */
|
|
749
|
-
FromParentQueryParams = '';
|
|
750
741
|
set ParentQueryParams(v) {
|
|
751
742
|
if (v) {
|
|
752
743
|
this.FromParentQueryParams = v;
|
|
753
744
|
}
|
|
754
745
|
}
|
|
755
|
-
/**表单实体 */
|
|
756
|
-
_entity;
|
|
757
746
|
set entity(v) {
|
|
758
747
|
if (v) {
|
|
759
748
|
this._entity = v;
|
|
760
749
|
}
|
|
761
750
|
}
|
|
762
|
-
/**指定id的条目信息 */
|
|
763
|
-
entrySelect = '';
|
|
764
751
|
set parentEntrySelect(v) {
|
|
765
752
|
if (v) {
|
|
766
753
|
let V_extraProperties = this._CmsApiService.deepClone(this.convertExtraProperties(v.extraProperties));
|
|
@@ -825,8 +812,6 @@ class CreateOrEditEntriesComponent {
|
|
|
825
812
|
await this.getAllVersionsList();
|
|
826
813
|
}
|
|
827
814
|
}
|
|
828
|
-
/**表单控件模板-动态表单配置组件 */
|
|
829
|
-
FormDynamicontrolRef;
|
|
830
815
|
/**定义自定义异步验证 */
|
|
831
816
|
cultureAsyncValidator_test() {
|
|
832
817
|
return (ctrl) => {
|
|
@@ -860,7 +845,6 @@ class CreateOrEditEntriesComponent {
|
|
|
860
845
|
this.cultureName = source.culture || source.cultureName;
|
|
861
846
|
this.sectionId = source.sectionId;
|
|
862
847
|
}
|
|
863
|
-
time = 0;
|
|
864
848
|
/**定义自定义异步验证 */
|
|
865
849
|
repetitionAsyncValidator() {
|
|
866
850
|
return (ctrl) => {
|
|
@@ -885,7 +869,6 @@ class CreateOrEditEntriesComponent {
|
|
|
885
869
|
});
|
|
886
870
|
};
|
|
887
871
|
}
|
|
888
|
-
config = inject(ConfigStateService);
|
|
889
872
|
/**获取版块详情 */
|
|
890
873
|
getSectionSelect() {
|
|
891
874
|
return new Promise((resolve, rejects) => {
|
|
@@ -955,8 +938,8 @@ class CreateOrEditEntriesComponent {
|
|
|
955
938
|
this.getAllVersionsList();
|
|
956
939
|
});
|
|
957
940
|
}
|
|
958
|
-
static
|
|
959
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateOrEditEntriesComponent, selector: "cms-create-or-edit-entries", inputs: { isEdit: "isEdit", ParentQueryParams: "ParentQueryParams", entity: "entity", parentEntrySelect: "parentEntrySelect" }, viewQueries: [{ propertyName: "FormDynamicontrolRef", predicate: ["FormDynamicontrolRef"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"create-or-edit-entry-page\" [formGroup]=\"_entity\">\n <div class=\"container \">\n <div class=\"row\">\n <div class=\"col-md-8 \">\n <div class=\"card p-2\">\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"title\">{{'Cms::Title' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" (blur)=\"setTitleToSlugBlur($event)\"\n formControlName=\"title\">\n </div>\n <template #FormDynamicRef></template>\n <ng-container *ngFor=\"let item of entryTypesItem?.fieldTabs;let i =index\">\n <ng-container *ngFor=\"let el of item.fields;let i1 =index\">\n <ng-container *ngIf=\"el&&_entity\">\n <df-dynamic [entity]=\"_entity\" [fields]=\"el\"\n [selected]=\"entrySelect ? entrySelect.extraProperties[el.field.name] : ''\"\n [parentFiledName]=\"'extraProperties'\" [culture]=\"cultureinput.value\"></df-dynamic>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <div class=\"col-md-4 \">\n <div class=\"card mb-0 p-2\">\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"slug\">{{'Cms::Slug' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"slug\">\n <div class=\"text-danger invalid-feedback\" *ngIf=\"sluginput.errors?.repetition\">\n {{sluginput.errors?.repetition}}\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"culture\">{{'AbpUi::Languages' | abpLocalization}}</label>\n <select class=\"form-select\" formControlName=\"culture\">\n <ng-container *ngFor=\"let item of languagesList;let i =index\">\n <option [value]=\"item.cultureName\">{{item.displayName}}</option>\n </ng-container>\n </select>\n <input type=\"text\" formControlName=\"culture_shadow\"\n style=\"position: absolute;z-index: -1;opacity: 0;\">\n <div class=\"text-danger invalid-feedback\" *ngIf=\"culture_shadowInput.errors?.repetition\">\n {{culture_shadowInput.errors?.repetition}}\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"parentId\">{{'Cms::ParentEntry' | abpLocalization}}</label>\n <select class=\"form-select\" formControlName=\"parentId\">\n <option value=\"\"></option>\n <ng-container *ngFor=\"let item of entryTypesList;let i =index\">\n <option [value]=\"item.id\">{{item.displayName}}</option>\n </ng-container>\n </select>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"publishTime\">{{'Cms::PublishTime' | abpLocalization}}</label>\n <input type=\"datetime-local\" class=\"form-control\" step=\"1\" formControlName=\"publishTime\">\n </div>\n <div class=\"mb-2\" *ngIf=\"isEdit\">\n <label class=\"form-label\" for=\"publishTime\">{{'Cms::Version' | abpLocalization}}</label>\n <ul class=\"list-group\">\n <ng-container *ngFor=\"let item of AllVersionsList\">\n <li class=\"list-group-item flex-between\">\n <div>\n {{item.initialVersionId?(item.creationTime| date: 'YYYY/MM/dd HH:mm:s'):('Cms::InitialVersion' | abpLocalization)}}\n <span class=\"badge text-bg-success ms-1\"\n *ngIf=\"item.isActivatedVersion\">{{'Cms::IsActive' | abpLocalization}}</span>\n <span class=\"badge text-bg-primary ms-1\"\n *ngIf=\"item.id === RevisionEntryId\">{{'Cms::Editing' |\n abpLocalization}}</span>\n </div>\n <div>\n <div ngbDropdown class=\"d-inline-block\">\n <button type=\"button\" class=\"btn btn-link-primary p-2 \"\n style=\"line-height: 0;\" id=\"dropdownBasic1\" ngbDropdownToggle>\n </button>\n <div ngbDropdownMenu aria-labelledby=\"dropdownBasic1\">\n <button ngbDropdownItem type=\"button\" *ngIf=\"!item.isActivatedVersion\"\n (click)=\"ActivatedVersion(item.id)\">\n <i class=\"fas fa-check me-1\"></i>{{'Cms::IsActive' |\n abpLocalization}}\n </button>\n <button ngbDropdownItem type=\"button\"\n routerLink=\"/cms/admin/entries/create\"\n [queryParams]=\"{RevisionEntryId:item.id}\">\n <i class=\"fas fa-plus me-1\"></i>{{'Cms::NewVersion' |\n abpLocalization}}\n </button>\n <button ngbDropdownItem type=\"button\" (click.stop)=\"toEditUrl(item.id)\"\n *ngIf=\"item.id !== RevisionEntryId\">\n <i class=\"fas fa-edit me-1\"></i>{{'AbpUi::Edit' | abpLocalization}}\n </button>\n <button ngbDropdownItem type=\"button\"\n (click.stop)=\"delectVersion(item.id)\"\n *ngIf=\"item.initialVersionId&&!item.isActivatedVersion&&item.id !== RevisionEntryId\">\n <i class=\"fas fa-trash me-1\"></i>{{'AbpUi::Delete' |\n abpLocalization}}\n </button>\n </div>\n </div>\n </div>\n </li>\n </ng-container>\n </ul>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"versionNotes\">{{'Cms::RevisionNotes' | abpLocalization}}</label>\n <textarea class=\"form-control\" formControlName=\"versionNotes\" rows=\"3\"></textarea>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: ["::ng-deep .create-or-edit-entry-page .dignite_page{height:calc(100vh - 125px);overflow:auto;background:transparent}::ng-deep .create-or-edit-entry-page .form-control,::ng-deep .create-or-edit-entry-page .form-select{padding:.475rem 1.25rem}::ng-deep .create-or-edit-entry-page .cursor-move{cursor:move}::ng-deep .create-or-edit-entry-page .bordernNavs{border:var(--bs-border-width) solid var(--lpx-border-color);padding-left:inherit;padding-right:inherit}::ng-deep .create-or-edit-entry-page .flex-between{display:flex;align-items:center;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "directive", type: i10.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i10.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i10.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i10.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i8$1.DynamicComponent, selector: "df-dynamic", inputs: ["selected", "type", "entity", "culture", "parentFiledName", "fields"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
|
|
941
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateOrEditEntriesComponent, deps: [{ token: i3.ToasterService }, { token: i2.Location }, { token: i1.ConfigStateService }, { token: SectionAdminService }, { token: EntryAdminService }, { token: i2.DatePipe }, { token: i1.LocalizationService }, { token: i3$1.Router }, { token: CmsApiService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
942
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateOrEditEntriesComponent, selector: "cms-create-or-edit-entries", inputs: { isEdit: "isEdit", ParentQueryParams: "ParentQueryParams", entity: "entity", parentEntrySelect: "parentEntrySelect" }, viewQueries: [{ propertyName: "FormDynamicontrolRef", predicate: ["FormDynamicontrolRef"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"create-or-edit-entry-page\" [formGroup]=\"_entity\">\n <div class=\"container \">\n <div class=\"row\">\n <div class=\"col-md-8 \">\n <div class=\"card p-2\">\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"title\">{{'Cms::Title' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" (blur)=\"setTitleToSlugBlur($event)\"\n formControlName=\"title\">\n </div>\n <template #FormDynamicRef></template>\n <ng-container *ngFor=\"let item of entryTypesItem?.fieldTabs;let i =index\">\n <ng-container *ngFor=\"let el of item.fields;let i1 =index\">\n <ng-container *ngIf=\"el&&_entity\">\n <df-dynamic [entity]=\"_entity\" [fields]=\"el\"\n [selected]=\"entrySelect ? entrySelect.extraProperties[el.field.name] : ''\"\n [parentFiledName]=\"'extraProperties'\" [culture]=\"cultureinput.value\"></df-dynamic>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <div class=\"col-md-4 \">\n <div class=\"card mb-0 p-2\">\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"slug\">{{'Cms::Slug' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"slug\">\n <div class=\"text-danger invalid-feedback\" *ngIf=\"sluginput.errors?.repetition\">\n {{sluginput.errors?.repetition}}\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"culture\">{{'AbpUi::Languages' | abpLocalization}}</label>\n <select class=\"form-select\" formControlName=\"culture\">\n <ng-container *ngFor=\"let item of languagesList;let i =index\">\n <option [value]=\"item.cultureName\">{{item.displayName}}</option>\n </ng-container>\n </select>\n <input type=\"text\" formControlName=\"culture_shadow\"\n style=\"position: absolute;z-index: -1;opacity: 0;\">\n <div class=\"text-danger invalid-feedback\" *ngIf=\"culture_shadowInput.errors?.repetition\">\n {{culture_shadowInput.errors?.repetition}}\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"parentId\">{{'Cms::ParentEntry' | abpLocalization}}</label>\n <select class=\"form-select\" formControlName=\"parentId\">\n <option value=\"\"></option>\n <ng-container *ngFor=\"let item of entryTypesList;let i =index\">\n <option [value]=\"item.id\">{{item.displayName}}</option>\n </ng-container>\n </select>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"publishTime\">{{'Cms::PublishTime' | abpLocalization}}</label>\n <input type=\"datetime-local\" class=\"form-control\" step=\"1\" formControlName=\"publishTime\">\n </div>\n <div class=\"mb-2\" *ngIf=\"isEdit\">\n <label class=\"form-label\" for=\"publishTime\">{{'Cms::Version' | abpLocalization}}</label>\n <ul class=\"list-group\">\n <ng-container *ngFor=\"let item of AllVersionsList\">\n <li class=\"list-group-item flex-between\">\n <div>\n {{item.initialVersionId?(item.creationTime| date: 'YYYY/MM/dd HH:mm:s'):('Cms::InitialVersion' | abpLocalization)}}\n <span class=\"badge text-bg-success ms-1\"\n *ngIf=\"item.isActivatedVersion\">{{'Cms::IsActive' | abpLocalization}}</span>\n <span class=\"badge text-bg-primary ms-1\"\n *ngIf=\"item.id === RevisionEntryId\">{{'Cms::Editing' |\n abpLocalization}}</span>\n </div>\n <div>\n <div ngbDropdown class=\"d-inline-block\">\n <button type=\"button\" class=\"btn btn-link-primary p-2 \"\n style=\"line-height: 0;\" id=\"dropdownBasic1\" ngbDropdownToggle>\n </button>\n <div ngbDropdownMenu aria-labelledby=\"dropdownBasic1\">\n <button ngbDropdownItem type=\"button\" *ngIf=\"!item.isActivatedVersion\"\n (click)=\"ActivatedVersion(item.id)\">\n <i class=\"fas fa-check me-1\"></i>{{'Cms::IsActive' |\n abpLocalization}}\n </button>\n <button ngbDropdownItem type=\"button\"\n routerLink=\"/cms/admin/entries/create\"\n [queryParams]=\"{RevisionEntryId:item.id}\">\n <i class=\"fas fa-plus me-1\"></i>{{'Cms::NewVersion' |\n abpLocalization}}\n </button>\n <button ngbDropdownItem type=\"button\" (click.stop)=\"toEditUrl(item.id)\"\n *ngIf=\"item.id !== RevisionEntryId\">\n <i class=\"fas fa-edit me-1\"></i>{{'AbpUi::Edit' | abpLocalization}}\n </button>\n <button ngbDropdownItem type=\"button\"\n (click.stop)=\"delectVersion(item.id)\"\n *ngIf=\"item.initialVersionId&&!item.isActivatedVersion&&item.id !== RevisionEntryId\">\n <i class=\"fas fa-trash me-1\"></i>{{'AbpUi::Delete' |\n abpLocalization}}\n </button>\n </div>\n </div>\n </div>\n </li>\n </ng-container>\n </ul>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"versionNotes\">{{'Cms::RevisionNotes' | abpLocalization}}</label>\n <textarea class=\"form-control\" formControlName=\"versionNotes\" rows=\"3\"></textarea>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: ["::ng-deep .create-or-edit-entry-page .dignite_page{height:calc(100vh - 125px);overflow:auto;background:transparent}::ng-deep .create-or-edit-entry-page .form-control,::ng-deep .create-or-edit-entry-page .form-select{padding:.475rem 1.25rem}::ng-deep .create-or-edit-entry-page .cursor-move{cursor:move}::ng-deep .create-or-edit-entry-page .bordernNavs{border:var(--bs-border-width) solid var(--lpx-border-color);padding-left:inherit;padding-right:inherit}::ng-deep .create-or-edit-entry-page .flex-between{display:flex;align-items:center;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "directive", type: i10.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i10.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i10.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i10.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i8$1.DynamicComponent, selector: "df-dynamic", inputs: ["selected", "type", "entity", "culture", "parentFiledName", "fields"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
960
943
|
}
|
|
961
944
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateOrEditEntriesComponent, decorators: [{
|
|
962
945
|
type: Component,
|
|
@@ -975,12 +958,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
975
958
|
}] } });
|
|
976
959
|
|
|
977
960
|
class CreateComponent {
|
|
978
|
-
toaster;
|
|
979
|
-
_location;
|
|
980
|
-
route;
|
|
981
|
-
_EntryAdminService;
|
|
982
|
-
_LocalizationService;
|
|
983
|
-
router;
|
|
984
961
|
constructor(toaster, _location, route, _EntryAdminService, _LocalizationService, router) {
|
|
985
962
|
this.toaster = toaster;
|
|
986
963
|
this._location = _location;
|
|
@@ -988,19 +965,15 @@ class CreateComponent {
|
|
|
988
965
|
this._EntryAdminService = _EntryAdminService;
|
|
989
966
|
this._LocalizationService = _LocalizationService;
|
|
990
967
|
this.router = router;
|
|
968
|
+
this.fb = inject(FormBuilder);
|
|
969
|
+
this._updateListService = inject(UpdateListService);
|
|
970
|
+
/**是否是草稿 */
|
|
971
|
+
this.draftType = false;
|
|
972
|
+
/**页面传值用于传递到子组件 */
|
|
973
|
+
this.queryParams = '';
|
|
974
|
+
/**指定id的条目信息 */
|
|
975
|
+
this.entrySelect = '';
|
|
991
976
|
}
|
|
992
|
-
fb = inject(FormBuilder);
|
|
993
|
-
_updateListService = inject(UpdateListService);
|
|
994
|
-
/**表单实体 */
|
|
995
|
-
newEntity;
|
|
996
|
-
/**是否是草稿 */
|
|
997
|
-
draftType = false;
|
|
998
|
-
/**页面传值用于传递到子组件 */
|
|
999
|
-
queryParams = '';
|
|
1000
|
-
/**指定id的条目信息 */
|
|
1001
|
-
entrySelect = '';
|
|
1002
|
-
/**获取提交按钮替身,用于真实触发表单提交 */
|
|
1003
|
-
submitclick;
|
|
1004
977
|
async ngOnInit() {
|
|
1005
978
|
this.queryParams = this.route.snapshot.queryParams;
|
|
1006
979
|
this.newEntity = this.fb.group(new CreateOrUpdateEntryInputBase());
|
|
@@ -1044,13 +1017,13 @@ class CreateComponent {
|
|
|
1044
1017
|
backTo() {
|
|
1045
1018
|
this._location.back();
|
|
1046
1019
|
}
|
|
1047
|
-
static
|
|
1048
|
-
static
|
|
1020
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateComponent, deps: [{ token: i3.ToasterService }, { token: i2.Location }, { token: i3$1.ActivatedRoute }, { token: EntryAdminService }, { token: i1.LocalizationService }, { token: i3$1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1021
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateComponent, selector: "cms-create", providers: [
|
|
1049
1022
|
{
|
|
1050
1023
|
provide: EXTENSIONS_IDENTIFIER,
|
|
1051
1024
|
useValue: ECmsComponent.Entries_Create,
|
|
1052
1025
|
},
|
|
1053
|
-
], viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form class=\"row g-3 needs-validation\" [formGroup]=\"newEntity\" (ngSubmit)=\"save(draftType)\">\n <abp-page [title]=\"'Cms::New'| abpLocalization\" [toolbar]=\"true\">\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n <ng-container *ngIf=\"entrySelect; else elseTemplate\">\n <cms-create-or-edit-entries [entity]=\"newEntity\" [ParentQueryParams]=\"queryParams\"\n [parentEntrySelect]=\"entrySelect\" ></cms-create-or-edit-entries>\n </ng-container>\n <ng-template #elseTemplate>\n <cms-create-or-edit-entries [entity]=\"newEntity\"\n [ParentQueryParams]=\"queryParams\" ></cms-create-or-edit-entries>\n </ng-template>\n </abp-page>\n</form>", styles: ["::ng-deep .create-or-edit-entry-page .dignite_page{height:calc(100vh - 125px);overflow:auto;background:transparent}::ng-deep .create-or-edit-entry-page .form-control,::ng-deep .create-or-edit-entry-page .form-select{padding:.475rem 1.25rem}::ng-deep .create-or-edit-entry-page .cursor-move{cursor:move}::ng-deep .create-or-edit-entry-page .bordernNavs{border:var(--bs-border-width) solid var(--lpx-border-color);padding-left:inherit;padding-right:inherit}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "component", type: i11.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: CreateOrEditEntriesComponent, selector: "cms-create-or-edit-entries", inputs: ["isEdit", "ParentQueryParams", "entity", "parentEntrySelect"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
|
|
1026
|
+
], viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form class=\"row g-3 needs-validation\" [formGroup]=\"newEntity\" (ngSubmit)=\"save(draftType)\">\n <abp-page [title]=\"'Cms::New'| abpLocalization\" [toolbar]=\"true\">\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n <ng-container *ngIf=\"entrySelect; else elseTemplate\">\n <cms-create-or-edit-entries [entity]=\"newEntity\" [ParentQueryParams]=\"queryParams\"\n [parentEntrySelect]=\"entrySelect\" ></cms-create-or-edit-entries>\n </ng-container>\n <ng-template #elseTemplate>\n <cms-create-or-edit-entries [entity]=\"newEntity\"\n [ParentQueryParams]=\"queryParams\" ></cms-create-or-edit-entries>\n </ng-template>\n </abp-page>\n</form>", styles: ["::ng-deep .create-or-edit-entry-page .dignite_page{height:calc(100vh - 125px);overflow:auto;background:transparent}::ng-deep .create-or-edit-entry-page .form-control,::ng-deep .create-or-edit-entry-page .form-select{padding:.475rem 1.25rem}::ng-deep .create-or-edit-entry-page .cursor-move{cursor:move}::ng-deep .create-or-edit-entry-page .bordernNavs{border:var(--bs-border-width) solid var(--lpx-border-color);padding-left:inherit;padding-right:inherit}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "component", type: i11.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: CreateOrEditEntriesComponent, selector: "cms-create-or-edit-entries", inputs: ["isEdit", "ParentQueryParams", "entity", "parentEntrySelect"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
1054
1027
|
}
|
|
1055
1028
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateComponent, decorators: [{
|
|
1056
1029
|
type: Component,
|
|
@@ -1066,12 +1039,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1066
1039
|
}] } });
|
|
1067
1040
|
|
|
1068
1041
|
class EditComponent {
|
|
1069
|
-
toaster;
|
|
1070
|
-
_location;
|
|
1071
|
-
route;
|
|
1072
|
-
_EntryAdminService;
|
|
1073
|
-
router;
|
|
1074
|
-
_LocalizationService;
|
|
1075
1042
|
constructor(toaster, _location, route, _EntryAdminService, router, _LocalizationService) {
|
|
1076
1043
|
this.toaster = toaster;
|
|
1077
1044
|
this._location = _location;
|
|
@@ -1079,19 +1046,15 @@ class EditComponent {
|
|
|
1079
1046
|
this._EntryAdminService = _EntryAdminService;
|
|
1080
1047
|
this.router = router;
|
|
1081
1048
|
this._LocalizationService = _LocalizationService;
|
|
1049
|
+
this.fb = inject(FormBuilder);
|
|
1050
|
+
this._updateListService = inject(UpdateListService);
|
|
1051
|
+
/**是否是草稿 */
|
|
1052
|
+
this.draftType = false;
|
|
1053
|
+
/**页面传值用于传递到子组件 */
|
|
1054
|
+
this.queryParams = '' || {};
|
|
1055
|
+
/**指定id的条目信息 */
|
|
1056
|
+
this.entrySelect = '';
|
|
1082
1057
|
}
|
|
1083
|
-
fb = inject(FormBuilder);
|
|
1084
|
-
_updateListService = inject(UpdateListService);
|
|
1085
|
-
/**表单实体 */
|
|
1086
|
-
newEntity;
|
|
1087
|
-
/**是否是草稿 */
|
|
1088
|
-
draftType = false;
|
|
1089
|
-
/**页面传值用于传递到子组件 */
|
|
1090
|
-
queryParams = '' || {};
|
|
1091
|
-
/**指定id的条目信息 */
|
|
1092
|
-
entrySelect = '';
|
|
1093
|
-
/**获取提交按钮替身,用于真实触发表单提交 */
|
|
1094
|
-
submitclick;
|
|
1095
1058
|
async ngOnInit() {
|
|
1096
1059
|
this.queryParams.RevisionEntryId = this.route.snapshot.params.entrieId;
|
|
1097
1060
|
this.newEntity = this.fb.group(new CreateOrUpdateEntryInputBase());
|
|
@@ -1134,13 +1097,13 @@ class EditComponent {
|
|
|
1134
1097
|
backTo() {
|
|
1135
1098
|
this._location.back();
|
|
1136
1099
|
}
|
|
1137
|
-
static
|
|
1138
|
-
static
|
|
1100
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditComponent, deps: [{ token: i3.ToasterService }, { token: i2.Location }, { token: i3$1.ActivatedRoute }, { token: EntryAdminService }, { token: i3$1.Router }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1101
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EditComponent, selector: "cms-edit", providers: [
|
|
1139
1102
|
{
|
|
1140
1103
|
provide: EXTENSIONS_IDENTIFIER,
|
|
1141
1104
|
useValue: ECmsComponent.Entries_Edit,
|
|
1142
1105
|
},
|
|
1143
|
-
], viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form class=\"row g-3 needs-validation\" [formGroup]=\"newEntity\" (ngSubmit)=\"save(draftType)\">\n <abp-page [title]=\"'AbpUi::Edit' | abpLocalization\" [toolbar]=\"true\">\n <button type=\"submit\" style=\"display: none\" #submitclick></button>\n <ng-container *ngIf=\"entrySelect\">\n <cms-create-or-edit-entries [entity]=\"newEntity\" [ParentQueryParams]=\"queryParams\"\n [parentEntrySelect]=\"entrySelect\" [isEdit]=\"true\"></cms-create-or-edit-entries>\n </ng-container>\n </abp-page>\n</form>", styles: ["::ng-deep .edit-entry-page .dignite_page{height:calc(100vh - 125px);overflow:auto;background:transparent}::ng-deep .edit-entry-page .form-control,::ng-deep .edit-entry-page .form-select{padding:.475rem 1.25rem}::ng-deep .edit-entry-page .cursor-move{cursor:move}::ng-deep .edit-entry-page .bordernNavs{border:var(--bs-border-width) solid var(--lpx-border-color);padding-left:inherit;padding-right:inherit}::ng-deep .edit-entry-page .flex-between{display:flex;align-items:center;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "component", type: i11.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: CreateOrEditEntriesComponent, selector: "cms-create-or-edit-entries", inputs: ["isEdit", "ParentQueryParams", "entity", "parentEntrySelect"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
|
|
1106
|
+
], viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form class=\"row g-3 needs-validation\" [formGroup]=\"newEntity\" (ngSubmit)=\"save(draftType)\">\n <abp-page [title]=\"'AbpUi::Edit' | abpLocalization\" [toolbar]=\"true\">\n <button type=\"submit\" style=\"display: none\" #submitclick></button>\n <ng-container *ngIf=\"entrySelect\">\n <cms-create-or-edit-entries [entity]=\"newEntity\" [ParentQueryParams]=\"queryParams\"\n [parentEntrySelect]=\"entrySelect\" [isEdit]=\"true\"></cms-create-or-edit-entries>\n </ng-container>\n </abp-page>\n</form>", styles: ["::ng-deep .edit-entry-page .dignite_page{height:calc(100vh - 125px);overflow:auto;background:transparent}::ng-deep .edit-entry-page .form-control,::ng-deep .edit-entry-page .form-select{padding:.475rem 1.25rem}::ng-deep .edit-entry-page .cursor-move{cursor:move}::ng-deep .edit-entry-page .bordernNavs{border:var(--bs-border-width) solid var(--lpx-border-color);padding-left:inherit;padding-right:inherit}::ng-deep .edit-entry-page .flex-between{display:flex;align-items:center;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "component", type: i11.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: CreateOrEditEntriesComponent, selector: "cms-create-or-edit-entries", inputs: ["isEdit", "ParentQueryParams", "entity", "parentEntrySelect"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
1144
1107
|
}
|
|
1145
1108
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditComponent, decorators: [{
|
|
1146
1109
|
type: Component,
|
|
@@ -1156,40 +1119,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1156
1119
|
}] } });
|
|
1157
1120
|
|
|
1158
1121
|
class FieldAdminService {
|
|
1159
|
-
restService;
|
|
1160
|
-
apiName = 'CmsAdmin';
|
|
1161
|
-
create = (input, config) => this.restService.request({
|
|
1162
|
-
method: 'POST',
|
|
1163
|
-
url: '/api/cms-admin/fields',
|
|
1164
|
-
body: input,
|
|
1165
|
-
}, { apiName: this.apiName, ...config });
|
|
1166
|
-
delete = (id, config) => this.restService.request({
|
|
1167
|
-
method: 'DELETE',
|
|
1168
|
-
url: `/api/cms-admin/fields/${id}`,
|
|
1169
|
-
}, { apiName: this.apiName, ...config });
|
|
1170
|
-
get = (id, config) => this.restService.request({
|
|
1171
|
-
method: 'GET',
|
|
1172
|
-
url: `/api/cms-admin/fields/${id}`,
|
|
1173
|
-
}, { apiName: this.apiName, ...config });
|
|
1174
|
-
getList = (input, config) => this.restService.request({
|
|
1175
|
-
method: 'GET',
|
|
1176
|
-
url: '/api/cms-admin/fields',
|
|
1177
|
-
params: { filter: input.filter, groupId: input.groupId, sorting: input.sorting, skipCount: input.skipCount, maxResultCount: input.maxResultCount },
|
|
1178
|
-
}, { apiName: this.apiName, ...config });
|
|
1179
|
-
nameExists = (name, config) => this.restService.request({
|
|
1180
|
-
method: 'GET',
|
|
1181
|
-
url: `/api/cms-admin/fields/name-exists/${name}`,
|
|
1182
|
-
}, { apiName: this.apiName, ...config });
|
|
1183
|
-
update = (id, input, config) => this.restService.request({
|
|
1184
|
-
method: 'PUT',
|
|
1185
|
-
url: `/api/cms-admin/fields/${id}`,
|
|
1186
|
-
body: input,
|
|
1187
|
-
}, { apiName: this.apiName, ...config });
|
|
1188
1122
|
constructor(restService) {
|
|
1189
1123
|
this.restService = restService;
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1124
|
+
this.apiName = 'CmsAdmin';
|
|
1125
|
+
this.create = (input, config) => this.restService.request({
|
|
1126
|
+
method: 'POST',
|
|
1127
|
+
url: '/api/cms-admin/fields',
|
|
1128
|
+
body: input,
|
|
1129
|
+
}, { apiName: this.apiName, ...config });
|
|
1130
|
+
this.delete = (id, config) => this.restService.request({
|
|
1131
|
+
method: 'DELETE',
|
|
1132
|
+
url: `/api/cms-admin/fields/${id}`,
|
|
1133
|
+
}, { apiName: this.apiName, ...config });
|
|
1134
|
+
this.get = (id, config) => this.restService.request({
|
|
1135
|
+
method: 'GET',
|
|
1136
|
+
url: `/api/cms-admin/fields/${id}`,
|
|
1137
|
+
}, { apiName: this.apiName, ...config });
|
|
1138
|
+
this.getList = (input, config) => this.restService.request({
|
|
1139
|
+
method: 'GET',
|
|
1140
|
+
url: '/api/cms-admin/fields',
|
|
1141
|
+
params: { filter: input.filter, groupId: input.groupId, sorting: input.sorting, skipCount: input.skipCount, maxResultCount: input.maxResultCount },
|
|
1142
|
+
}, { apiName: this.apiName, ...config });
|
|
1143
|
+
this.nameExists = (name, config) => this.restService.request({
|
|
1144
|
+
method: 'GET',
|
|
1145
|
+
url: `/api/cms-admin/fields/name-exists/${name}`,
|
|
1146
|
+
}, { apiName: this.apiName, ...config });
|
|
1147
|
+
this.update = (id, input, config) => this.restService.request({
|
|
1148
|
+
method: 'PUT',
|
|
1149
|
+
url: `/api/cms-admin/fields/${id}`,
|
|
1150
|
+
body: input,
|
|
1151
|
+
}, { apiName: this.apiName, ...config });
|
|
1152
|
+
}
|
|
1153
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FieldAdminService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1154
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FieldAdminService, providedIn: 'root' }); }
|
|
1193
1155
|
}
|
|
1194
1156
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FieldAdminService, decorators: [{
|
|
1195
1157
|
type: Injectable,
|
|
@@ -1199,12 +1161,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1199
1161
|
}], ctorParameters: function () { return [{ type: i1.RestService }]; } });
|
|
1200
1162
|
|
|
1201
1163
|
class FieldGroupComponent {
|
|
1202
|
-
fb;
|
|
1203
|
-
_FieldGroupAdminService;
|
|
1204
|
-
toaster;
|
|
1205
|
-
confirmation;
|
|
1206
|
-
_FieldAbstractsService;
|
|
1207
|
-
_LocalizationService;
|
|
1208
1164
|
constructor(fb, _FieldGroupAdminService, toaster, confirmation, _FieldAbstractsService, _LocalizationService) {
|
|
1209
1165
|
this.fb = fb;
|
|
1210
1166
|
this._FieldGroupAdminService = _FieldGroupAdminService;
|
|
@@ -1212,23 +1168,19 @@ class FieldGroupComponent {
|
|
|
1212
1168
|
this.confirmation = confirmation;
|
|
1213
1169
|
this._FieldAbstractsService = _FieldAbstractsService;
|
|
1214
1170
|
this._LocalizationService = _LocalizationService;
|
|
1171
|
+
/**表单已存在的值 */
|
|
1172
|
+
this.selected = {};
|
|
1173
|
+
/**选择的字段分组id */
|
|
1174
|
+
this.fieldGroupId = '';
|
|
1175
|
+
/**创建分组模态框状态 */
|
|
1176
|
+
this.createGroupOpen = false;
|
|
1177
|
+
/**用于确定模态的繁忙状态是否为真 */
|
|
1178
|
+
this.modalBusy = false;
|
|
1179
|
+
/**编辑分组模态框状态 */
|
|
1180
|
+
this.editGroupOpen = false;
|
|
1181
|
+
/**点击分组回调 */
|
|
1182
|
+
this.OnGroupClickBack = new EventEmitter();
|
|
1215
1183
|
}
|
|
1216
|
-
/**创建分组表单 */
|
|
1217
|
-
createForm;
|
|
1218
|
-
/** 编辑分组表单*/
|
|
1219
|
-
editGroupForm;
|
|
1220
|
-
/**表单已存在的值 */
|
|
1221
|
-
selected = {};
|
|
1222
|
-
/**选择的字段分组id */
|
|
1223
|
-
fieldGroupId = '';
|
|
1224
|
-
/**创建分组模态框状态 */
|
|
1225
|
-
createGroupOpen = false;
|
|
1226
|
-
/**用于确定模态的繁忙状态是否为真 */
|
|
1227
|
-
modalBusy = false;
|
|
1228
|
-
/**编辑分组模态框状态 */
|
|
1229
|
-
editGroupOpen = false;
|
|
1230
|
-
/**点击分组回调 */
|
|
1231
|
-
OnGroupClickBack = new EventEmitter();
|
|
1232
1184
|
ngOnInit() {
|
|
1233
1185
|
this._FieldAbstractsService.getfieldGroupList();
|
|
1234
1186
|
}
|
|
@@ -1300,8 +1252,8 @@ class FieldGroupComponent {
|
|
|
1300
1252
|
this.fieldGroupId = event;
|
|
1301
1253
|
this.OnGroupClickBack.emit(event);
|
|
1302
1254
|
}
|
|
1303
|
-
static
|
|
1304
|
-
static
|
|
1255
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FieldGroupComponent, deps: [{ token: i1$1.FormBuilder }, { token: FieldGroupAdminService }, { token: i3.ToasterService }, { token: i3.ConfirmationService }, { token: FieldAbstractsService }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1256
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FieldGroupComponent, selector: "cms-field-group", outputs: { OnGroupClickBack: "OnGroupClickBack" }, ngImport: i0, template: "<div class=\"card-header px-2 py-sm-2 d-flex justify-content-between align-items-center\">\n <h6 class=\"h6 mb-0\">{{'Cms::FieldGroup' | abpLocalization}}</h6>\n <button type=\"button\" class=\"btn btn-link btn-sm ms-2\"><i class=\"fas fa-plus-circle\" aria-hidden=\"true\"\n (click)=\"createGroupBtn()\"></i></button>\n</div>\n<div class=\"card-body p-0\">\n <div class=\"container-height overflow-auto\">\n <ul class=\"list-group list-group-flush\">\n <li class=\"list-group-item list-group-item-action active\" [class.active]=\"fieldGroupId===''\"\n (click)=\"fieldGroupChange('')\">{{'Cms::AllFields' | abpLocalization}}</li>\n <ng-container *ngFor=\"let item of _FieldAbstractsService.fieldGroupList\">\n <li class=\"list-group-item list-group-item-action d-flex justify-content-between align-items-center\"\n [class.active]=\"fieldGroupId===item.id\" (click)=\"fieldGroupChange(item.id)\">\n <div>{{item.name}}</div>\n <div *ngIf=\"fieldGroupId===item.id\">\n <i class=\"fas fa-trash px-1\" role=\"button\" (click.stop)=\"deleteGroupbtn(item)\"></i>\n <i class=\"fas fa-edit px-1\" role=\"button\" (click.stop)=\"editGroupBtn(item.name)\"></i>\n </div>\n </li>\n </ng-container>\n </ul>\n </div>\n</div>\n\n<abp-modal [(visible)]=\"createGroupOpen\" [busy]=\"modalBusy\" (visibleChange)=\"createGroupVisibleChange($event)\">\n <ng-template #abpHeader>\n <h3>{{'Cms::New' | abpLocalization}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <form *ngIf=\"createForm; else loaderRef\" [formGroup]=\"createForm\" (ngSubmit)=\"createSave()\">\n <div class=\"mb-3\">\n <label for=\"exampleFormControlInput1\" class=\"form-label\">{{'Cms::Name' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" id=\"exampleFormControlInput1\" formControlName=\"name\"\n placeholder=\"\">\n </div>\n </form>\n </ng-template>\n\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"createForm?.invalid\" (click)=\"createSave()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>\n\n<abp-modal [(visible)]=\"editGroupOpen\" [busy]=\"modalBusy\" (visibleChange)=\"editGroupVisibleChange($event)\">\n <ng-template #abpHeader>\n <h3>{{'AbpUi::Edit' | abpLocalization}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <form *ngIf=\"editGroupForm; else loaderRef\" [formGroup]=\"editGroupForm\" (ngSubmit)=\"editSave()\">\n <div class=\"mb-3\">\n <label for=\"exampleFormControlInput1\" class=\"form-label\">{{'Cms::Name' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" id=\"exampleFormControlInput1\" formControlName=\"name\"\n placeholder=\"\">\n </div>\n </form>\n </ng-template>\n\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"editGroupForm?.invalid\" (click)=\"editSave()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
1305
1257
|
}
|
|
1306
1258
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FieldGroupComponent, decorators: [{
|
|
1307
1259
|
type: Component,
|
|
@@ -1311,13 +1263,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1311
1263
|
}] } });
|
|
1312
1264
|
|
|
1313
1265
|
class FieldsComponent {
|
|
1314
|
-
list;
|
|
1315
|
-
_FieldAdminService;
|
|
1316
|
-
toaster;
|
|
1317
|
-
confirmation;
|
|
1318
|
-
_LocalizationService;
|
|
1319
|
-
router;
|
|
1320
|
-
_CmsApiService;
|
|
1321
1266
|
constructor(list, _FieldAdminService, toaster, confirmation, _LocalizationService, router, _CmsApiService) {
|
|
1322
1267
|
this.list = list;
|
|
1323
1268
|
this._FieldAdminService = _FieldAdminService;
|
|
@@ -1326,17 +1271,17 @@ class FieldsComponent {
|
|
|
1326
1271
|
this._LocalizationService = _LocalizationService;
|
|
1327
1272
|
this.router = router;
|
|
1328
1273
|
this._CmsApiService = _CmsApiService;
|
|
1274
|
+
this._UpdateListService = inject(UpdateListService);
|
|
1275
|
+
/**表格单元格布局类型 */
|
|
1276
|
+
this.ColumnMode = ColumnMode;
|
|
1277
|
+
/**表格数据 */
|
|
1278
|
+
this.data = {
|
|
1279
|
+
items: [],
|
|
1280
|
+
totalCount: 0,
|
|
1281
|
+
};
|
|
1282
|
+
/**过滤器 */
|
|
1283
|
+
this.filters = {};
|
|
1329
1284
|
}
|
|
1330
|
-
_UpdateListService = inject(UpdateListService);
|
|
1331
|
-
/**表格单元格布局类型 */
|
|
1332
|
-
ColumnMode = ColumnMode;
|
|
1333
|
-
/**表格数据 */
|
|
1334
|
-
data = {
|
|
1335
|
-
items: [],
|
|
1336
|
-
totalCount: 0,
|
|
1337
|
-
};
|
|
1338
|
-
/**过滤器 */
|
|
1339
|
-
filters = {};
|
|
1340
1285
|
ngOnInit() {
|
|
1341
1286
|
this.hookToQuery();
|
|
1342
1287
|
this._UpdateListService.updateListEvent.subscribe(() => {
|
|
@@ -1379,8 +1324,8 @@ class FieldsComponent {
|
|
|
1379
1324
|
}
|
|
1380
1325
|
});
|
|
1381
1326
|
}
|
|
1382
|
-
static
|
|
1383
|
-
static
|
|
1327
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FieldsComponent, deps: [{ token: i1.ListService }, { token: FieldAdminService }, { token: i3.ToasterService }, { token: i3.ConfirmationService }, { token: i1.LocalizationService }, { token: i3$1.Router }, { token: CmsApiService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1328
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FieldsComponent, selector: "cms-fields", providers: [
|
|
1384
1329
|
// [Required]
|
|
1385
1330
|
ListService,
|
|
1386
1331
|
// [Optional]
|
|
@@ -1391,7 +1336,7 @@ class FieldsComponent {
|
|
|
1391
1336
|
provide: EXTENSIONS_IDENTIFIER,
|
|
1392
1337
|
useValue: ECmsComponent.Fields,
|
|
1393
1338
|
},
|
|
1394
|
-
], ngImport: i0, template: "<abp-page [title]=\"'Cms::Fields' | abpLocalization\" [toolbar]=\"true\">\n <div class=\"fields-page\">\n <div class=\"row \">\n <div class=\"col-3\">\n <div class=\"card mb-0\" style=\"height: 100%;\">\n <cms-field-group (OnGroupClickBack)=\"fieldGroupChange($event)\"></cms-field-group>\n </div>\n </div>\n <div class=\"col-9\">\n <div class=\"card mb-0\">\n <div class=\"card-header px-2 py-sm-2 border-bottom\">\n <div class=\"input-group\">\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"filters.filter\"\n [placeholder]=\"'AbpUi::Search' | abpLocalization\">\n <button class=\"btn btn-primary px-3\" type=\"button\" id=\"button-addon2\"\n (click)=\"list.get()\"><i class=\"fa fa-search\"></i></button>\n </div>\n </div>\n <div class=\"card-body p-0\">\n <div class=\"table-responsive table-fixed-header\">\n <ngx-datatable class=\"material \" [rows]=\"data.items\" [list]=\"list\"\n [columnMode]=\"ColumnMode.force\" [headerHeight]=\"50\" [footerHeight]=\"50\" rowHeight=\"auto\"\n [virtualization]=\"false\" [externalPaging]=\"true\"\n [count]=\"data.totalCount\" [scrollbarH]=\"true\">\n <ngx-datatable-column [name]=\"'Cms::DisplayName' | abpLocalization\" prop=\"displayName\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::Name' | abpLocalization\" prop=\"name\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::FormControlName' | abpLocalization\"\n prop=\"formControlName\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::Group' | abpLocalization\" prop=\"groupId\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{row.groupName}}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::CreationTime' | abpLocalization\" prop=\"creationTime\" [width]=\"190\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value|date:'YYYY/MM/dd HH:mm:ss' }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [sortable]=\"false\" [name]=\"'AbpUi::Actions' | abpLocalization\"\n cellClass=\"cellClassRight\" [frozenRight]=\"true\" [width]=\"110\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n <div ngbDropdown container=\"body\">\n <button type=\"button\" class=\"btn btn-primary btn-sm\"\n ngbDropdownToggle> <i class=\"me-1 fa fa-cog\"></i> {{'AbpUi::Actions' | abpLocalization}}</button>\n <div ngbDropdownMenu>\n <button ngbDropdownItem\n routerLink=\"/cms/admin/fields/{{row.id}}/edit\">{{'AbpUi::Edit' | abpLocalization}}</button>\n <button ngbDropdownItem\n (click.stop)=\"deletefield(row)\">{{'AbpUi::Delete' | abpLocalization}}</button>\n </div>\n </div>\n </ng-template>\n </ngx-datatable-column>\n </ngx-datatable>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n</abp-page>", styles: ["::ng-deep .fields-page .dignite_page{background:transparent}::ng-deep .fields-page .list-group-flush>.list-group-item:first-child{border-top-width:var(--bs-list-group-border-width)}::ng-deep .fields-page .container-height{height:calc(100vh - 200px)}\n"], dependencies: [{ kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "component", type: i8.DatatableComponent, selector: "ngx-datatable", inputs: ["targetMarkerTemplate", "rows", "groupRowsBy", "groupedRows", "columns", "selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "limit", "count", "offset", "loadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "virtualization", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { kind: "directive", type: i8.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { kind: "directive", type: i8.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { kind: "directive", type: i3.NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: ["list"], exportAs: ["ngxDatatableList"] }, { kind: "directive", type: i10.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i10.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i10.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i10.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i11.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: FieldGroupComponent, selector: "cms-field-group", outputs: ["OnGroupClickBack"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
|
|
1339
|
+
], ngImport: i0, template: "<abp-page [title]=\"'Cms::Fields' | abpLocalization\" [toolbar]=\"true\">\n <div class=\"fields-page\">\n <div class=\"row \">\n <div class=\"col-3\">\n <div class=\"card mb-0\" style=\"height: 100%;\">\n <cms-field-group (OnGroupClickBack)=\"fieldGroupChange($event)\"></cms-field-group>\n </div>\n </div>\n <div class=\"col-9\">\n <div class=\"card mb-0\">\n <div class=\"card-header px-2 py-sm-2 border-bottom\">\n <div class=\"input-group\">\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"filters.filter\"\n [placeholder]=\"'AbpUi::Search' | abpLocalization\">\n <button class=\"btn btn-primary px-3\" type=\"button\" id=\"button-addon2\"\n (click)=\"list.get()\"><i class=\"fa fa-search\"></i></button>\n </div>\n </div>\n <div class=\"card-body p-0\">\n <div class=\"table-responsive table-fixed-header\">\n <ngx-datatable class=\"material \" [rows]=\"data.items\" [list]=\"list\"\n [columnMode]=\"ColumnMode.force\" [headerHeight]=\"50\" [footerHeight]=\"50\" rowHeight=\"auto\"\n [virtualization]=\"false\" [externalPaging]=\"true\"\n [count]=\"data.totalCount\" [scrollbarH]=\"true\">\n <ngx-datatable-column [name]=\"'Cms::DisplayName' | abpLocalization\" prop=\"displayName\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::Name' | abpLocalization\" prop=\"name\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::FormControlName' | abpLocalization\"\n prop=\"formControlName\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::Group' | abpLocalization\" prop=\"groupId\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{row.groupName}}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::CreationTime' | abpLocalization\" prop=\"creationTime\" [width]=\"190\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value|date:'YYYY/MM/dd HH:mm:ss' }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [sortable]=\"false\" [name]=\"'AbpUi::Actions' | abpLocalization\"\n cellClass=\"cellClassRight\" [frozenRight]=\"true\" [width]=\"110\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n <div ngbDropdown container=\"body\">\n <button type=\"button\" class=\"btn btn-primary btn-sm\"\n ngbDropdownToggle> <i class=\"me-1 fa fa-cog\"></i> {{'AbpUi::Actions' | abpLocalization}}</button>\n <div ngbDropdownMenu>\n <button ngbDropdownItem\n routerLink=\"/cms/admin/fields/{{row.id}}/edit\">{{'AbpUi::Edit' | abpLocalization}}</button>\n <button ngbDropdownItem\n (click.stop)=\"deletefield(row)\">{{'AbpUi::Delete' | abpLocalization}}</button>\n </div>\n </div>\n </ng-template>\n </ngx-datatable-column>\n </ngx-datatable>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n</abp-page>", styles: ["::ng-deep .fields-page .dignite_page{background:transparent}::ng-deep .fields-page .list-group-flush>.list-group-item:first-child{border-top-width:var(--bs-list-group-border-width)}::ng-deep .fields-page .container-height{height:calc(100vh - 200px)}\n"], dependencies: [{ kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "component", type: i8.DatatableComponent, selector: "ngx-datatable", inputs: ["targetMarkerTemplate", "rows", "groupRowsBy", "groupedRows", "columns", "selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "limit", "count", "offset", "loadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "virtualization", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { kind: "directive", type: i8.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { kind: "directive", type: i8.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { kind: "directive", type: i3.NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: ["list"], exportAs: ["ngxDatatableList"] }, { kind: "directive", type: i10.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i10.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i10.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i10.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i11.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: FieldGroupComponent, selector: "cms-field-group", outputs: ["OnGroupClickBack"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
1395
1340
|
}
|
|
1396
1341
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FieldsComponent, decorators: [{
|
|
1397
1342
|
type: Component,
|
|
@@ -1410,19 +1355,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1410
1355
|
}], ctorParameters: function () { return [{ type: i1.ListService }, { type: FieldAdminService }, { type: i3.ToasterService }, { type: i3.ConfirmationService }, { type: i1.LocalizationService }, { type: i3$1.Router }, { type: CmsApiService }]; } });
|
|
1411
1356
|
|
|
1412
1357
|
class CreateOrUpdateFieldInputBase {
|
|
1413
|
-
/**分组id */
|
|
1414
|
-
groupId = ['', []];
|
|
1415
|
-
/**字段名称 Display name of this field */
|
|
1416
|
-
displayName = ['', [Validators.required]];
|
|
1417
|
-
/**字段唯一名称 Unique Name*/
|
|
1418
|
-
name = ['', [Validators.required]];
|
|
1419
|
-
/**描述 说明 */
|
|
1420
|
-
description = ['', []];
|
|
1421
|
-
/**FieldType字段类型 表单控件名称 */
|
|
1422
|
-
formControlName = [undefined, [Validators.required]];
|
|
1423
|
-
/**动态表单配置 */
|
|
1424
|
-
formConfiguration = new FormGroup({});
|
|
1425
1358
|
constructor(data) {
|
|
1359
|
+
/**分组id */
|
|
1360
|
+
this.groupId = ['', []];
|
|
1361
|
+
/**字段名称 Display name of this field */
|
|
1362
|
+
this.displayName = ['', [Validators.required]];
|
|
1363
|
+
/**字段唯一名称 Unique Name*/
|
|
1364
|
+
this.name = ['', [Validators.required]];
|
|
1365
|
+
/**描述 说明 */
|
|
1366
|
+
this.description = ['', []];
|
|
1367
|
+
/**FieldType字段类型 表单控件名称 */
|
|
1368
|
+
this.formControlName = [undefined, [Validators.required]];
|
|
1369
|
+
/**动态表单配置 */
|
|
1370
|
+
this.formConfiguration = new FormGroup({});
|
|
1426
1371
|
if (data) {
|
|
1427
1372
|
for (const key in data) {
|
|
1428
1373
|
if (data.hasOwnProperty(key)) {
|
|
@@ -1434,12 +1379,6 @@ class CreateOrUpdateFieldInputBase {
|
|
|
1434
1379
|
}
|
|
1435
1380
|
|
|
1436
1381
|
class CreateOrEditFieldComponent {
|
|
1437
|
-
_FieldAbstractsService;
|
|
1438
|
-
_CmsApiService;
|
|
1439
|
-
_FieldAdminService;
|
|
1440
|
-
_LocalizationService;
|
|
1441
|
-
/**表单控件模板-动态表单配置组件 */
|
|
1442
|
-
FormDynamicRef;
|
|
1443
1382
|
constructor(_FieldAbstractsService, _CmsApiService, _FieldAdminService, _LocalizationService) {
|
|
1444
1383
|
this._FieldAbstractsService = _FieldAbstractsService;
|
|
1445
1384
|
this._CmsApiService = _CmsApiService;
|
|
@@ -1449,8 +1388,6 @@ class CreateOrEditFieldComponent {
|
|
|
1449
1388
|
this._FieldAbstractsService.getfieldGroupList();
|
|
1450
1389
|
}
|
|
1451
1390
|
}
|
|
1452
|
-
/**表单实体 */
|
|
1453
|
-
_Entity;
|
|
1454
1391
|
set Entity(v) {
|
|
1455
1392
|
if (v) {
|
|
1456
1393
|
this._Entity = v;
|
|
@@ -1460,9 +1397,6 @@ class CreateOrEditFieldComponent {
|
|
|
1460
1397
|
get formControlName() {
|
|
1461
1398
|
return this._Entity.get('formControlName');
|
|
1462
1399
|
}
|
|
1463
|
-
/**选择的表单信息 */
|
|
1464
|
-
_selected_copy;
|
|
1465
|
-
_selected;
|
|
1466
1400
|
set selected(v) {
|
|
1467
1401
|
if (v) {
|
|
1468
1402
|
this._selected = v || '';
|
|
@@ -1525,8 +1459,8 @@ class CreateOrEditFieldComponent {
|
|
|
1525
1459
|
}
|
|
1526
1460
|
formControlNameChange() {
|
|
1527
1461
|
}
|
|
1528
|
-
static
|
|
1529
|
-
static
|
|
1462
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateOrEditFieldComponent, deps: [{ token: FieldAbstractsService }, { token: CmsApiService }, { token: FieldAdminService }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1463
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateOrEditFieldComponent, selector: "cms-create-or-edit-field", inputs: { Entity: "Entity", selected: "selected" }, viewQueries: [{ propertyName: "FormDynamicRef", first: true, predicate: ["FormDynamicRef"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<form [formGroup]=\"_Entity\">\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"groupId\">{{'Cms::FieldGroup' | abpLocalization}}</label>\n <select class=\"form-select\" formControlName=\"groupId\">\n <option value=\"\">{{'Cms::OptionalGrouping' | abpLocalization}}</option>\n <ng-container *ngFor=\"let item of _FieldAbstractsService.fieldGroupList\">\n <option [value]=\"item.id\">{{item.name}}</option>\n </ng-container>\n </select>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"displayName\">{{'DigniteAbpForms::FieldDisplayName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\" (blur)=\"disPlayNameInputBlur($event)\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"name\">{{'DigniteAbpForms::FieldName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" (input)=\"nameInputBlur($event)\">\n <div class=\"text-danger invalid-feedback\" *ngIf=\"nameInput.errors?.repetition\">\n {{nameInput.errors?.repetition}}\n </div>\n <div class=\"form-text\">{{'DigniteAbpForms::FieldNameHelpText' | abpLocalization}}</div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"description\">{{'Cms::Description' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"description\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"formControlName\">{{'Cms::FieldType' | abpLocalization}}</label>\n <select class=\"form-select\" formControlName=\"formControlName\" (change)=\"formControlNameChange()\">\n <ng-container *ngFor=\"let item of _FieldAbstractsService.fromControlList;let i =index\">\n <option [value]=\"item.name\">{{item.displayName}}</option>\n </ng-container>\n </select>\n </div>\n <ng-container *ngIf=\"_Entity.value.formControlName&&_Entity\"> \n <df-dynamic [type]=\"_Entity.value.formControlName\" [entity]=\"_Entity\" [selected]=\"_selected\"></df-dynamic>\n </ng-container>\n\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i8$1.DynamicComponent, selector: "df-dynamic", inputs: ["selected", "type", "entity", "culture", "parentFiledName", "fields"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
1530
1464
|
}
|
|
1531
1465
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateOrEditFieldComponent, decorators: [{
|
|
1532
1466
|
type: Component,
|
|
@@ -1541,13 +1475,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1541
1475
|
}] } });
|
|
1542
1476
|
|
|
1543
1477
|
class CreateFieldComponent {
|
|
1544
|
-
fb;
|
|
1545
|
-
_FieldAdminService;
|
|
1546
|
-
toaster;
|
|
1547
|
-
_location;
|
|
1548
|
-
_LocalizationService;
|
|
1549
|
-
_CmsApiService;
|
|
1550
|
-
router;
|
|
1551
1478
|
constructor(fb, _FieldAdminService, toaster, _location, _LocalizationService, _CmsApiService, router) {
|
|
1552
1479
|
this.fb = fb;
|
|
1553
1480
|
this._FieldAdminService = _FieldAdminService;
|
|
@@ -1556,12 +1483,8 @@ class CreateFieldComponent {
|
|
|
1556
1483
|
this._LocalizationService = _LocalizationService;
|
|
1557
1484
|
this._CmsApiService = _CmsApiService;
|
|
1558
1485
|
this.router = router;
|
|
1486
|
+
this._UpdateListService = inject(UpdateListService);
|
|
1559
1487
|
}
|
|
1560
|
-
_UpdateListService = inject(UpdateListService);
|
|
1561
|
-
/**表单实体 */
|
|
1562
|
-
newEntity;
|
|
1563
|
-
/**获取提交按钮替身,用于真实触发表单提交 */
|
|
1564
|
-
submitclick;
|
|
1565
1488
|
ngOnInit() {
|
|
1566
1489
|
//Called after the constructor, initializing input properties, and the first call to ngOnChanges.
|
|
1567
1490
|
//Add 'implements OnInit' to the class.
|
|
@@ -1584,13 +1507,13 @@ class CreateFieldComponent {
|
|
|
1584
1507
|
});
|
|
1585
1508
|
});
|
|
1586
1509
|
}
|
|
1587
|
-
static
|
|
1588
|
-
static
|
|
1510
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateFieldComponent, deps: [{ token: i1$1.FormBuilder }, { token: FieldAdminService }, { token: i3.ToasterService }, { token: i2.Location }, { token: i1.LocalizationService }, { token: CmsApiService }, { token: i3$1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1511
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateFieldComponent, selector: "cms-create-field", providers: [
|
|
1589
1512
|
{
|
|
1590
1513
|
provide: EXTENSIONS_IDENTIFIER,
|
|
1591
1514
|
useValue: ECmsComponent.FieldsCreate,
|
|
1592
1515
|
},
|
|
1593
|
-
], viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form class=\"row g-3 needs-validation\" [formGroup]=\"newEntity\" (ngSubmit)=\"save()\">\n <abp-page [title]=\"'Cms::CreateField' | abpLocalization\" [toolbar]=\"true\">\n <div class=\"create-field-page\">\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n <div class=\"card\">\n <div class=\"card-body\">\n <cms-create-or-edit-field [Entity]=\"newEntity\"></cms-create-or-edit-field>\n </div>\n </div>\n </div>\n </abp-page>\n</form>", styles: ["::ng-deep .create-field-page .dignite_page{height:calc(100vh - 125px);overflow:auto}::ng-deep .create-field-page .form-control,::ng-deep .create-field-page .form-select{padding:.475rem 1.25rem}\n"], dependencies: [{ kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "component", type: i11.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: CreateOrEditFieldComponent, selector: "cms-create-or-edit-field", inputs: ["Entity", "selected"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
|
|
1516
|
+
], viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form class=\"row g-3 needs-validation\" [formGroup]=\"newEntity\" (ngSubmit)=\"save()\">\n <abp-page [title]=\"'Cms::CreateField' | abpLocalization\" [toolbar]=\"true\">\n <div class=\"create-field-page\">\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n <div class=\"card\">\n <div class=\"card-body\">\n <cms-create-or-edit-field [Entity]=\"newEntity\"></cms-create-or-edit-field>\n </div>\n </div>\n </div>\n </abp-page>\n</form>", styles: ["::ng-deep .create-field-page .dignite_page{height:calc(100vh - 125px);overflow:auto}::ng-deep .create-field-page .form-control,::ng-deep .create-field-page .form-select{padding:.475rem 1.25rem}\n"], dependencies: [{ kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "component", type: i11.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: CreateOrEditFieldComponent, selector: "cms-create-or-edit-field", inputs: ["Entity", "selected"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
1594
1517
|
}
|
|
1595
1518
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateFieldComponent, decorators: [{
|
|
1596
1519
|
type: Component,
|
|
@@ -1606,15 +1529,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1606
1529
|
}] } });
|
|
1607
1530
|
|
|
1608
1531
|
class EditFieldComponent {
|
|
1609
|
-
fb;
|
|
1610
|
-
_FieldAbstractsService;
|
|
1611
|
-
_FieldAdminService;
|
|
1612
|
-
route;
|
|
1613
|
-
toaster;
|
|
1614
|
-
_location;
|
|
1615
|
-
_LocalizationService;
|
|
1616
|
-
_CmsApiService;
|
|
1617
|
-
router;
|
|
1618
1532
|
constructor(fb, _FieldAbstractsService, _FieldAdminService, route, toaster, _location, _LocalizationService, _CmsApiService, router) {
|
|
1619
1533
|
this.fb = fb;
|
|
1620
1534
|
this._FieldAbstractsService = _FieldAbstractsService;
|
|
@@ -1625,15 +1539,10 @@ class EditFieldComponent {
|
|
|
1625
1539
|
this._LocalizationService = _LocalizationService;
|
|
1626
1540
|
this._CmsApiService = _CmsApiService;
|
|
1627
1541
|
this.router = router;
|
|
1542
|
+
/**字段id */
|
|
1543
|
+
this.fieldId = '';
|
|
1544
|
+
this._UpdateListService = inject(UpdateListService);
|
|
1628
1545
|
}
|
|
1629
|
-
/**表单实体 */
|
|
1630
|
-
newEntity;
|
|
1631
|
-
/**字段id */
|
|
1632
|
-
fieldId = '';
|
|
1633
|
-
/**字段详情 */
|
|
1634
|
-
fieldDetails;
|
|
1635
|
-
/**获取提交按钮替身,用于真实触发表单提交 */
|
|
1636
|
-
submitclick;
|
|
1637
1546
|
async ngOnInit() {
|
|
1638
1547
|
const _fieldId = this.route.snapshot.params.id;
|
|
1639
1548
|
if (_fieldId) {
|
|
@@ -1655,7 +1564,6 @@ class EditFieldComponent {
|
|
|
1655
1564
|
return new Promise((resolve, reject) => {
|
|
1656
1565
|
this._FieldAdminService.get(this.fieldId).subscribe(res => {
|
|
1657
1566
|
res.groupId = res.groupId ? res.groupId : '';
|
|
1658
|
-
console.log(res, 'resr获取字段详情esres');
|
|
1659
1567
|
this.fieldDetails = res;
|
|
1660
1568
|
resolve(res);
|
|
1661
1569
|
});
|
|
@@ -1665,7 +1573,6 @@ class EditFieldComponent {
|
|
|
1665
1573
|
submitclickBtn() {
|
|
1666
1574
|
this.submitclick.nativeElement.click();
|
|
1667
1575
|
}
|
|
1668
|
-
_UpdateListService = inject(UpdateListService);
|
|
1669
1576
|
/**保存表单 */
|
|
1670
1577
|
save() {
|
|
1671
1578
|
let input = this.newEntity.value;
|
|
@@ -1679,13 +1586,13 @@ class EditFieldComponent {
|
|
|
1679
1586
|
});
|
|
1680
1587
|
}));
|
|
1681
1588
|
}
|
|
1682
|
-
static
|
|
1683
|
-
static
|
|
1589
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditFieldComponent, deps: [{ token: i1$1.FormBuilder }, { token: FieldAbstractsService }, { token: FieldAdminService }, { token: i3$1.ActivatedRoute }, { token: i3.ToasterService }, { token: i2.Location }, { token: i1.LocalizationService }, { token: CmsApiService }, { token: i3$1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1590
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EditFieldComponent, selector: "cms-edit-field", providers: [
|
|
1684
1591
|
{
|
|
1685
1592
|
provide: EXTENSIONS_IDENTIFIER,
|
|
1686
1593
|
useValue: ECmsComponent.FieldsEdit,
|
|
1687
1594
|
},
|
|
1688
|
-
], viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form class=\"row g-3 needs-validation\" [formGroup]=\"newEntity\" (ngSubmit)=\"save()\">\n <abp-page [title]=\"'Cms::EditField' | abpLocalization\" [toolbar]=\"true\">\n <div class=\"create-field-page\">\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n <!-- <div class=\"p-3 bg-white rounded-1\"> -->\n <div class=\"card\">\n <div class=\"card-body\">\n <ng-container *ngIf=\"newEntity&&fieldDetails\">\n <cms-create-or-edit-field [Entity]=\"newEntity\"\n [selected]=\"fieldDetails\"></cms-create-or-edit-field>\n </ng-container>\n </div>\n </div>\n </div>\n </abp-page>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "component", type: i11.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: CreateOrEditFieldComponent, selector: "cms-create-or-edit-field", inputs: ["Entity", "selected"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
|
|
1595
|
+
], viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form class=\"row g-3 needs-validation\" [formGroup]=\"newEntity\" (ngSubmit)=\"save()\">\n <abp-page [title]=\"'Cms::EditField' | abpLocalization\" [toolbar]=\"true\">\n <div class=\"create-field-page\">\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n <!-- <div class=\"p-3 bg-white rounded-1\"> -->\n <div class=\"card\">\n <div class=\"card-body\">\n <ng-container *ngIf=\"newEntity&&fieldDetails\">\n <cms-create-or-edit-field [Entity]=\"newEntity\"\n [selected]=\"fieldDetails\"></cms-create-or-edit-field>\n </ng-container>\n </div>\n </div>\n </div>\n </abp-page>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "component", type: i11.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: CreateOrEditFieldComponent, selector: "cms-create-or-edit-field", inputs: ["Entity", "selected"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
1689
1596
|
}
|
|
1690
1597
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditFieldComponent, decorators: [{
|
|
1691
1598
|
type: Component,
|
|
@@ -1700,62 +1607,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1700
1607
|
args: ['submitclick', { static: true }]
|
|
1701
1608
|
}] } });
|
|
1702
1609
|
|
|
1703
|
-
class SitesComponent {
|
|
1704
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SitesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1705
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SitesComponent, selector: "cms-sites", providers: [
|
|
1706
|
-
ListService,
|
|
1707
|
-
{ provide: LIST_QUERY_DEBOUNCE_TIME, useValue: 500 },
|
|
1708
|
-
{
|
|
1709
|
-
provide: EXTENSIONS_IDENTIFIER,
|
|
1710
|
-
useValue: ECmsComponent.Sites,
|
|
1711
|
-
},
|
|
1712
|
-
], ngImport: i0, template: "<!-- <abp-page [title]=\"'Cms::Sites' | abpLocalization\" [toolbar]=\"true\">\n <div class=\"sites-page\">\n <div class=\"card\">\n <div class=\"card-body px-2 py-sm-2 border-bottom\">\n <div class=\"input-group\">\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"filters.filter\"\n [placeholder]=\"'AbpUi::Search' | abpLocalization\" />\n <button class=\"btn btn-primary px-3\" type=\"button\" id=\"button-addon2\" (click)=\"list.get()\">\n <i class=\"fa fa-search\"></i>\n </button>\n </div>\n </div>\n </div>\n <div class=\"card mb-0\">\n <div class=\"card-body p-0\">\n <div class=\"table-responsive table-fixed-header\">\n <ngx-datatable class=\"material container-height\" [rows]=\"data.items\" [list]=\"list\"\n [columnMode]=\"'force'\" [headerHeight]=\"50\" [footerHeight]=\"50\" rowHeight=\"auto\"\n [scrollbarV]=\"true\" [virtualization]=\"false\" [externalPaging]=\"true\" [count]=\"data.totalCount\">\n <ngx-datatable-column [name]=\"'Cms::DisplayName' | abpLocalization\" prop=\"displayName\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::Name' | abpLocalization\" prop=\"name\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::IsActive' | abpLocalization\" prop=\"isActive\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n <i class=\"fas fa-check text-success\" *ngIf=\"value\"></i>\n <i class=\"fas fa-times text-danger\" *ngIf=\"!value\"></i>\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::Host' | abpLocalization\" prop=\"host\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::CreationTime' | abpLocalization\" prop=\"creationTime\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value | date : 'yyyy-MM-dd hh:mm:ss' }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [sortable]=\"false\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n <div ngbDropdown container=\"body\">\n <button type=\"button\" class=\"btn btn-outline-primary btn-sm\" ngbDropdownToggle>\n {{'AbpUi::Actions' | abpLocalization}}\n </button>\n <div ngbDropdownMenu>\n <button ngbDropdownItem\n (click)=\"EditSitesBtn(row)\">{{'AbpUi::Edit' | abpLocalization}}</button>\n <button ngbDropdownItem\n (click)=\"deletefield(row)\">{{'AbpUi::Delete' | abpLocalization}}</button>\n </div>\n </div>\n </ng-template>\n </ngx-datatable-column>\n </ngx-datatable>\n </div>\n </div>\n </div>\n </div>\n</abp-page>\n<abp-modal [(visible)]=\"createSitesOpen\" [busy]=\"modalBusy\" (visibleChange)=\"createGroupVisibleChange($event)\">\n <ng-template #abpHeader>\n <h3>{{selected?('AbpUi::Edit' | abpLocalization):('Cms::New' | abpLocalization)}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <ng-container *ngIf=\"createOrEditForm; else loaderRef\">\n <form class=\"sites-modal-form\" #myForm=\"ngForm\" [formGroup]=\"createOrEditForm\"\n (ngSubmit)=\"createOrEditSave()\">\n <button type=\"submit\" #createModalSubmit style=\"display: none\"></button>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::DisplayName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\"\n (blur)=\"disPlayNameInputBlur($event)\" />\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Name' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" />\n <div class=\"text-danger invalid-feedback\" *ngIf=\"nameInput.errors?.repetition\">\n {{nameInput.errors?.repetition}}\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Host' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"host\" />\n <div class=\"text-danger invalid-feedback\" *ngIf=\"hostInput.errors?.repetition\">\n {{hostInput.errors?.repetition}}\n </div>\n </div>\n <div class=\"mb-2\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"true\" formControlName=\"isActive\"\n id=\"flexRadioDefault1\" />\n <label class=\"form-check-label\" for=\"flexRadioDefault1\"> {{'Cms::IsActive' | abpLocalization}}\n </label>\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Languages' | abpLocalization}}</label>\n <ul class=\"list-group list-group-flush\">\n <ng-container *ngFor=\"let item of languages; let i = index\">\n <li class=\"list-group-item d-flex justify-content-between align-items-center\">\n <div>\n <input class=\"form-check-input me-1\" type=\"checkbox\" [value]=\"item.cultureName\"\n id=\"firstRadio{{ i }}\" [checked]=\"item.ischecked\"\n (change)=\"languagesChange($event);!item.ischecked\" />\n <label class=\"form-check-label\" for=\"firstRadio{{ i }}\">{{ item.displayName\n }}</label>\n </div>\n <ng-container *ngIf=\"item.ischecked\">\n <div class=\"text-primary\" *ngIf=\"item.isDefault\">{{'Cms::Default' | abpLocalization}}\n </div>\n <div (click.stop)=\"setDefault(item)\" *ngIf=\"!item.isDefault\">\n {{'Cms::SetDefault' | abpLocalization}}</div>\n </ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n </form>\n </ng-container>\n </ng-template>\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\"\n (click)=\"createModalSubmit.nativeElement.click()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal> -->", styles: ["::ng-deep .sites-page .dignite_page{background:transparent}::ng-deep .sites-page .list-group-flush>.list-group-item:first-child{border-top-width:var(--bs-list-group-border-width)}::ng-deep .sites-page .container-height{height:calc(100vh - 220px)}::ng-deep .sites-modal-form .form-control{padding:.4rem 1.25rem}\n"] });
|
|
1713
|
-
}
|
|
1714
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SitesComponent, decorators: [{
|
|
1715
|
-
type: Component,
|
|
1716
|
-
args: [{ selector: 'cms-sites', providers: [
|
|
1717
|
-
ListService,
|
|
1718
|
-
{ provide: LIST_QUERY_DEBOUNCE_TIME, useValue: 500 },
|
|
1719
|
-
{
|
|
1720
|
-
provide: EXTENSIONS_IDENTIFIER,
|
|
1721
|
-
useValue: ECmsComponent.Sites,
|
|
1722
|
-
},
|
|
1723
|
-
], template: "<!-- <abp-page [title]=\"'Cms::Sites' | abpLocalization\" [toolbar]=\"true\">\n <div class=\"sites-page\">\n <div class=\"card\">\n <div class=\"card-body px-2 py-sm-2 border-bottom\">\n <div class=\"input-group\">\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"filters.filter\"\n [placeholder]=\"'AbpUi::Search' | abpLocalization\" />\n <button class=\"btn btn-primary px-3\" type=\"button\" id=\"button-addon2\" (click)=\"list.get()\">\n <i class=\"fa fa-search\"></i>\n </button>\n </div>\n </div>\n </div>\n <div class=\"card mb-0\">\n <div class=\"card-body p-0\">\n <div class=\"table-responsive table-fixed-header\">\n <ngx-datatable class=\"material container-height\" [rows]=\"data.items\" [list]=\"list\"\n [columnMode]=\"'force'\" [headerHeight]=\"50\" [footerHeight]=\"50\" rowHeight=\"auto\"\n [scrollbarV]=\"true\" [virtualization]=\"false\" [externalPaging]=\"true\" [count]=\"data.totalCount\">\n <ngx-datatable-column [name]=\"'Cms::DisplayName' | abpLocalization\" prop=\"displayName\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::Name' | abpLocalization\" prop=\"name\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::IsActive' | abpLocalization\" prop=\"isActive\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n <i class=\"fas fa-check text-success\" *ngIf=\"value\"></i>\n <i class=\"fas fa-times text-danger\" *ngIf=\"!value\"></i>\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::Host' | abpLocalization\" prop=\"host\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::CreationTime' | abpLocalization\" prop=\"creationTime\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value | date : 'yyyy-MM-dd hh:mm:ss' }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [sortable]=\"false\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n <div ngbDropdown container=\"body\">\n <button type=\"button\" class=\"btn btn-outline-primary btn-sm\" ngbDropdownToggle>\n {{'AbpUi::Actions' | abpLocalization}}\n </button>\n <div ngbDropdownMenu>\n <button ngbDropdownItem\n (click)=\"EditSitesBtn(row)\">{{'AbpUi::Edit' | abpLocalization}}</button>\n <button ngbDropdownItem\n (click)=\"deletefield(row)\">{{'AbpUi::Delete' | abpLocalization}}</button>\n </div>\n </div>\n </ng-template>\n </ngx-datatable-column>\n </ngx-datatable>\n </div>\n </div>\n </div>\n </div>\n</abp-page>\n<abp-modal [(visible)]=\"createSitesOpen\" [busy]=\"modalBusy\" (visibleChange)=\"createGroupVisibleChange($event)\">\n <ng-template #abpHeader>\n <h3>{{selected?('AbpUi::Edit' | abpLocalization):('Cms::New' | abpLocalization)}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <ng-container *ngIf=\"createOrEditForm; else loaderRef\">\n <form class=\"sites-modal-form\" #myForm=\"ngForm\" [formGroup]=\"createOrEditForm\"\n (ngSubmit)=\"createOrEditSave()\">\n <button type=\"submit\" #createModalSubmit style=\"display: none\"></button>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::DisplayName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\"\n (blur)=\"disPlayNameInputBlur($event)\" />\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Name' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" />\n <div class=\"text-danger invalid-feedback\" *ngIf=\"nameInput.errors?.repetition\">\n {{nameInput.errors?.repetition}}\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Host' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"host\" />\n <div class=\"text-danger invalid-feedback\" *ngIf=\"hostInput.errors?.repetition\">\n {{hostInput.errors?.repetition}}\n </div>\n </div>\n <div class=\"mb-2\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"true\" formControlName=\"isActive\"\n id=\"flexRadioDefault1\" />\n <label class=\"form-check-label\" for=\"flexRadioDefault1\"> {{'Cms::IsActive' | abpLocalization}}\n </label>\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Languages' | abpLocalization}}</label>\n <ul class=\"list-group list-group-flush\">\n <ng-container *ngFor=\"let item of languages; let i = index\">\n <li class=\"list-group-item d-flex justify-content-between align-items-center\">\n <div>\n <input class=\"form-check-input me-1\" type=\"checkbox\" [value]=\"item.cultureName\"\n id=\"firstRadio{{ i }}\" [checked]=\"item.ischecked\"\n (change)=\"languagesChange($event);!item.ischecked\" />\n <label class=\"form-check-label\" for=\"firstRadio{{ i }}\">{{ item.displayName\n }}</label>\n </div>\n <ng-container *ngIf=\"item.ischecked\">\n <div class=\"text-primary\" *ngIf=\"item.isDefault\">{{'Cms::Default' | abpLocalization}}\n </div>\n <div (click.stop)=\"setDefault(item)\" *ngIf=\"!item.isDefault\">\n {{'Cms::SetDefault' | abpLocalization}}</div>\n </ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n </form>\n </ng-container>\n </ng-template>\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\"\n (click)=\"createModalSubmit.nativeElement.click()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal> -->", styles: ["::ng-deep .sites-page .dignite_page{background:transparent}::ng-deep .sites-page .list-group-flush>.list-group-item:first-child{border-top-width:var(--bs-list-group-border-width)}::ng-deep .sites-page .container-height{height:calc(100vh - 220px)}::ng-deep .sites-modal-form .form-control{padding:.4rem 1.25rem}\n"] }]
|
|
1724
|
-
}] });
|
|
1725
|
-
|
|
1726
|
-
class CreateOrUpdateSitesInputBase {
|
|
1727
|
-
displayName = ['', [Validators.required]];
|
|
1728
|
-
name = ['', [Validators.required]];
|
|
1729
|
-
host = ['https://', [Validators.required]];
|
|
1730
|
-
isActive = [true, []];
|
|
1731
|
-
languages = [[], [Validators.required]];
|
|
1732
|
-
constructor(data) {
|
|
1733
|
-
if (data) {
|
|
1734
|
-
for (const key in data) {
|
|
1735
|
-
if (data.hasOwnProperty(key)) {
|
|
1736
|
-
this[key] = data[key];
|
|
1737
|
-
}
|
|
1738
|
-
}
|
|
1739
|
-
}
|
|
1740
|
-
}
|
|
1741
|
-
}
|
|
1742
|
-
|
|
1743
1610
|
class CreateOrUpdateSectionsInputBase {
|
|
1744
|
-
/**版块类型 */
|
|
1745
|
-
type = [0, [Validators.required]];
|
|
1746
|
-
/**字段名称 Display name of this field */
|
|
1747
|
-
displayName = ['', [Validators.required]];
|
|
1748
|
-
/**字段唯一名称 Unique Name*/
|
|
1749
|
-
name = ['', [Validators.required]];
|
|
1750
|
-
/**条目路由 */
|
|
1751
|
-
route = ['', [Validators.required]];
|
|
1752
|
-
/**页面模板 */
|
|
1753
|
-
template = ['', [Validators.required]];
|
|
1754
|
-
/**是否默认 */
|
|
1755
|
-
isDefault = [false, []];
|
|
1756
|
-
/**是否激活 */
|
|
1757
|
-
isActive = [true, []];
|
|
1758
1611
|
constructor(data) {
|
|
1612
|
+
/**版块类型 */
|
|
1613
|
+
this.type = [0, [Validators.required]];
|
|
1614
|
+
/**字段名称 Display name of this field */
|
|
1615
|
+
this.displayName = ['', [Validators.required]];
|
|
1616
|
+
/**字段唯一名称 Unique Name*/
|
|
1617
|
+
this.name = ['', [Validators.required]];
|
|
1618
|
+
/**条目路由 */
|
|
1619
|
+
this.route = ['', [Validators.required]];
|
|
1620
|
+
/**页面模板 */
|
|
1621
|
+
this.template = ['', [Validators.required]];
|
|
1622
|
+
/**是否默认 */
|
|
1623
|
+
this.isDefault = [false, []];
|
|
1624
|
+
/**是否激活 */
|
|
1625
|
+
this.isActive = [true, []];
|
|
1759
1626
|
if (data) {
|
|
1760
1627
|
for (const key in data) {
|
|
1761
1628
|
if (data.hasOwnProperty(key)) {
|
|
@@ -1775,15 +1642,6 @@ var SectionType;
|
|
|
1775
1642
|
const sectionTypeOptions = mapEnumToOptions(SectionType);
|
|
1776
1643
|
|
|
1777
1644
|
class SectionsComponent {
|
|
1778
|
-
list;
|
|
1779
|
-
_SectionAdminService;
|
|
1780
|
-
toaster;
|
|
1781
|
-
confirmation;
|
|
1782
|
-
fb;
|
|
1783
|
-
_EntryTypeAdminService;
|
|
1784
|
-
_LocalizationService;
|
|
1785
|
-
_CmsApiService;
|
|
1786
|
-
router;
|
|
1787
1645
|
constructor(list, _SectionAdminService,
|
|
1788
1646
|
// private _SiteAdminService: SiteAdminService,
|
|
1789
1647
|
toaster, confirmation, fb, _EntryTypeAdminService, _LocalizationService, _CmsApiService, router) {
|
|
@@ -1796,8 +1654,24 @@ class SectionsComponent {
|
|
|
1796
1654
|
this._LocalizationService = _LocalizationService;
|
|
1797
1655
|
this._CmsApiService = _CmsApiService;
|
|
1798
1656
|
this.router = router;
|
|
1657
|
+
this._UpdateListService = inject(UpdateListService);
|
|
1658
|
+
/**版块列表 */
|
|
1659
|
+
this.siteList = [];
|
|
1660
|
+
/*** */
|
|
1661
|
+
this.ColumnMode = ColumnMode;
|
|
1662
|
+
this.data = {
|
|
1663
|
+
items: [],
|
|
1664
|
+
totalCount: 0,
|
|
1665
|
+
};
|
|
1666
|
+
/** */
|
|
1667
|
+
this.filters = {};
|
|
1668
|
+
/**创建版块模态框状态 */
|
|
1669
|
+
this.visibleOpen = false;
|
|
1670
|
+
/**用于确定模态的繁忙状态是否为真 */
|
|
1671
|
+
this.modalBusy = false;
|
|
1672
|
+
this._SectionType = SectionType;
|
|
1673
|
+
this._sectionTypeOptions = sectionTypeOptions;
|
|
1799
1674
|
}
|
|
1800
|
-
_UpdateListService = inject(UpdateListService);
|
|
1801
1675
|
/**跳转编辑 */
|
|
1802
1676
|
jumpSectionsEdit(row, item) {
|
|
1803
1677
|
this.router.navigate([`/cms/admin/sections/${row.id}/entry-types/${item.id}/edit`], {});
|
|
@@ -1806,16 +1680,6 @@ class SectionsComponent {
|
|
|
1806
1680
|
jumpSectionsCreate(row) {
|
|
1807
1681
|
this.router.navigate([`/cms/admin/sections/${row.id}/entry-types/create`], {});
|
|
1808
1682
|
}
|
|
1809
|
-
/**版块列表 */
|
|
1810
|
-
siteList = [];
|
|
1811
|
-
/*** */
|
|
1812
|
-
ColumnMode = ColumnMode;
|
|
1813
|
-
data = {
|
|
1814
|
-
items: [],
|
|
1815
|
-
totalCount: 0,
|
|
1816
|
-
};
|
|
1817
|
-
/** */
|
|
1818
|
-
filters = {};
|
|
1819
1683
|
/**获取页面列表 */
|
|
1820
1684
|
hookToQuery() {
|
|
1821
1685
|
const getData = (query) => this._SectionAdminService.getList({
|
|
@@ -1836,18 +1700,6 @@ class SectionsComponent {
|
|
|
1836
1700
|
this.list.page = 0;
|
|
1837
1701
|
this.list.get();
|
|
1838
1702
|
}
|
|
1839
|
-
/**创建版块模态框状态 */
|
|
1840
|
-
visibleOpen = false;
|
|
1841
|
-
/**用于确定模态的繁忙状态是否为真 */
|
|
1842
|
-
modalBusy = false;
|
|
1843
|
-
/**创建版块表单 */
|
|
1844
|
-
createOrEditForm;
|
|
1845
|
-
/**版块给定的表单值 */
|
|
1846
|
-
selected;
|
|
1847
|
-
_SectionType = SectionType;
|
|
1848
|
-
_sectionTypeOptions = sectionTypeOptions;
|
|
1849
|
-
/**表单控件模板-动态赋值表单控件 */
|
|
1850
|
-
createOrEditModalSubmitBtn;
|
|
1851
1703
|
/**创建版块模态框状态改变 */
|
|
1852
1704
|
VisibleChange(event) {
|
|
1853
1705
|
if (!event) {
|
|
@@ -2066,8 +1918,8 @@ class SectionsComponent {
|
|
|
2066
1918
|
});
|
|
2067
1919
|
};
|
|
2068
1920
|
}
|
|
2069
|
-
static
|
|
2070
|
-
static
|
|
1921
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SectionsComponent, deps: [{ token: i1.ListService }, { token: SectionAdminService }, { token: i3.ToasterService }, { token: i3.ConfirmationService }, { token: i1$1.FormBuilder }, { token: EntryTypeAdminService }, { token: i1.LocalizationService }, { token: CmsApiService }, { token: i3$1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1922
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SectionsComponent, selector: "cms-sections", providers: [
|
|
2071
1923
|
// [Required]
|
|
2072
1924
|
ListService,
|
|
2073
1925
|
// [Optional]
|
|
@@ -2078,7 +1930,7 @@ class SectionsComponent {
|
|
|
2078
1930
|
provide: EXTENSIONS_IDENTIFIER,
|
|
2079
1931
|
useValue: ECmsComponent.Sections,
|
|
2080
1932
|
},
|
|
2081
|
-
], viewQueries: [{ propertyName: "createOrEditModalSubmitBtn", first: true, predicate: ["createOrEditModalSubmitBtn"], descendants: true }], ngImport: i0, template: "<abp-page [title]=\"'Cms::Sections' | abpLocalization\" [toolbar]=\"true\">\n <div class=\"sections-page\">\n <div class=\"card \" >\n <div class=\"card-body px-2 py-sm-2 border-bottom\">\n <div class=\"row align-items-end\">\n <div class=\"mb-2 col-3\">\n <label class=\"form-label\">{{'Cms::IsActive' | abpLocalization}}\uFF1A</label>\n <select class=\"form-select col-auto\" [(ngModel)]=\"filters.isActive\" (change)=\"siteIdChange()\">\n <option [value]=\"\"></option>\n <option [value]=\"true\">\u662F</option>\n <option [value]=\"false\">\u5426</option>\n </select>\n </div>\n <div class=\"mb-2 col-3\">\n <label class=\"form-label\">{{'AbpUi::Search' | abpLocalization}}\uFF1A</label>\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"filters.filter\"\n [placeholder]=\"'AbpUi::Search' | abpLocalization\" />\n </div>\n <div class=\"mb-2 col-4\">\n <button class=\"btn btn-primary px-3\" type=\"button\" id=\"button-addon2\" (click)=\"list.get()\">\n <i class=\"fa fa-search\"></i>\n </button>\n </div>\n </div> \n </div>\n </div>\n <div class=\"card mb-0\">\n <div class=\"card-body p-0\">\n <div class=\"table-responsive table-fixed-header\">\n <ngx-datatable class=\"material \" [rows]=\"data.items\" [list]=\"list\"\n [columnMode]=\"ColumnMode.force\" [headerHeight]=\"50\" [footerHeight]=\"50\" rowHeight=\"auto\"\n [virtualization]=\"false\" [externalPaging]=\"true\" [count]=\"data.totalCount\" [scrollbarH]=\"true\">\n <ngx-datatable-column [name]=\"'Cms::DisplayName' | abpLocalization\" prop=\"displayName\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::Name' | abpLocalization\" prop=\"name\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::SectionType' | abpLocalization\" prop=\"type\" [width]=\"80\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{('Cms::Enum:SectionType:'+_SectionType[value]) | abpLocalization}}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::IsDefault' | abpLocalization\" prop=\"isDefault\" [width]=\"60\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n <i class=\"fas fa-check text-success\" *ngIf=\"value\"></i>\n <i class=\"fas fa-times text-danger\" *ngIf=\"!value\"></i>\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::IsActive' | abpLocalization\" prop=\"isActive\" [width]=\"60\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n <i class=\"fas fa-check text-success\" *ngIf=\"value\"></i>\n <i class=\"fas fa-times text-danger\" *ngIf=\"!value\"></i>\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::EntryType' | abpLocalization\" prop=\"SiteId\" [width]=\"100\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n <div ngbDropdown container=\"body\">\n <button type=\"button\" class=\"btn btn-link\" ngbDropdownToggle id=\"dropdownBasic1\">\n {{'Cms::EntryType' | abpLocalization}}\n </button>\n <div ngbDropdownMenu aria-labelledby=\"dropdownBasic1\">\n <ng-container *ngFor=\"let item of row.entryTypes;let i =index\">\n <li ngbDropdownItem\n class=\"d-flex align-items-center justify-content-between\"\n (click.stop)=\"jumpSectionsEdit(row,item)\">{{item.displayName}}\n <button class=\"btn btn-light btn-sm p-0\"\n (click.stop)=\"deleteEntryType(item)\"><i class=\"fas fa-trash p-sm-1\"\n style=\"font-size: 12px;\" role=\"button\"></i></button>\n </li>\n </ng-container>\n <li ngbDropdownItem (click.stop)=\"jumpSectionsCreate(row)\"><i\n class=\"fas fa-plus-circle me-2\"></i>{{'Cms::New' |\n abpLocalization}}</li>\n </div>\n </div>\n\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::CreationTime' | abpLocalization\" prop=\"creationTime\" [minWidth]=\"190\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value | date : 'yyyy/MM/dd hh:mm:ss' }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [sortable]=\"false\" [frozenRight]=\"true\" [name]=\"'AbpUi::Actions' | abpLocalization\" cellClass=\"cellClassRight\" [width]=\"100\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n <div ngbDropdown container=\"body\">\n <button type=\"button\" class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\n <i class=\"me-1 fa fa-cog\"></i> {{'AbpUi::Actions' | abpLocalization}}\n </button>\n <div ngbDropdownMenu>\n <button ngbDropdownItem (click)=\"editSectionBtn(row)\">{{'AbpUi::Edit' |\n abpLocalization}}</button>\n <button ngbDropdownItem (click)=\"deletefield(row)\">{{'AbpUi::Delete' |\n abpLocalization}}</button>\n </div>\n </div>\n </ng-template>\n </ngx-datatable-column>\n </ngx-datatable>\n </div>\n </div>\n </div>\n </div>\n</abp-page>\n<abp-modal [(visible)]=\"visibleOpen\" [busy]=\"modalBusy\" (visibleChange)=\"VisibleChange($event)\">\n <ng-template #abpHeader>\n <h3>{{selected?('AbpUi::Edit' | abpLocalization):('Cms::New' | abpLocalization)}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <ng-container *ngIf=\"createOrEditForm; else loaderRef\">\n <form class=\"sites-modal-form\" [formGroup]=\"createOrEditForm\" (ngSubmit)=\"createOrEditSave()\">\n <button type=\"submit\" #createOrEditModalSubmitBtn style=\"display: none\"></button>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::EntryType' | abpLocalization}}</label>\n <div>\n <ng-container *ngFor=\"let item of _sectionTypeOptions;let i =index\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"item.value\"\n (change)=\"radiochange()\" formControlName=\"type\" id=\"flexRadioDefault{{i}}\">\n <label class=\"form-check-label\" for=\"flexRadioDefault{{i}}\">\n {{ 'Cms::Enum:SectionType:'+item.key | abpLocalization }}\n </label>\n </div>\n </ng-container>\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::DisplayName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\"\n (blur)=\"disPlayNameInputBlur($event)\" placeholder=\"\" />\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Name' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" placeholder=\"\" />\n <div class=\"text-danger invalid-feedback\" *ngIf=\"nameInput.errors?.repetition\">\n {{nameInput.errors?.repetition}}\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Route' | abpLocalization}} </label>\n <input type=\"text\" class=\"form-control\" formControlName=\"route\" placeholder=\"\" />\n <div class=\"text-danger invalid-feedback\" *ngIf=\"routeInput.errors?.repetition\">\n {{routeInput.errors?.repetition}}\n </div>\n <div class=\"form-text\">\n {{'Cms::RouteTips' | abpLocalization}}<br>\n blog<br>\n {{'blog/{slug}'}}<br>\n {{'blog/{publishTime:yyyy}/{publishTime:MM}/{slug}'}}\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Template' | abpLocalization}} </label>\n <input type=\"text\" class=\"form-control\" formControlName=\"template\" placeholder=\"\" />\n <div class=\"form-text\">\n {{\"Cms::TemplateTips\" | abpLocalization}}\n </div>\n </div>\n <div class=\"mb-2\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"true\" formControlName=\"isDefault\"\n id=\"isDefault\" />\n <label class=\"form-check-label\" for=\"isDefault\"> {{'Cms::Default' | abpLocalization}} </label>\n </div>\n </div>\n <div class=\"mb-2\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"true\" formControlName=\"isActive\"\n id=\"isActive\" />\n <label class=\"form-check-label\" for=\"isActive\"> {{'Cms::IsActive' | abpLocalization}}</label>\n </div>\n </div>\n\n </form>\n </ng-container>\n </ng-template>\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\" (click)=\"createOrEditModalSubmitBtn.nativeElement.click()\">{{'AbpUi::Save' |\n abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>", styles: ["::ng-deep .sections-page .dignite_page{background:transparent}::ng-deep .sections-page .list-group-flush>.list-group-item:first-child{border-top-width:var(--bs-list-group-border-width)}::ng-deep .sections-page .card-header input{flex:2 1 auto}::ng-deep .sections-page .card-header .form-select{padding:.475rem 3.75rem .475rem 1.25rem}::ng-deep .sites-modal-form .form-control{padding:.4rem 1.25rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "component", type: i8.DatatableComponent, selector: "ngx-datatable", inputs: ["targetMarkerTemplate", "rows", "groupRowsBy", "groupedRows", "columns", "selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "limit", "count", "offset", "loadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "virtualization", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { kind: "directive", type: i8.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { kind: "directive", type: i8.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: ["list"], exportAs: ["ngxDatatableList"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "directive", type: i10.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i10.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i10.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i10.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i11.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
|
|
1933
|
+
], viewQueries: [{ propertyName: "createOrEditModalSubmitBtn", first: true, predicate: ["createOrEditModalSubmitBtn"], descendants: true }], ngImport: i0, template: "<abp-page [title]=\"'Cms::Sections' | abpLocalization\" [toolbar]=\"true\">\n <div class=\"sections-page\">\n <div class=\"card \" >\n <div class=\"card-body px-2 py-sm-2 border-bottom\">\n <div class=\"row align-items-end\">\n <div class=\"mb-2 col-3\">\n <label class=\"form-label\">{{'Cms::IsActive' | abpLocalization}}\uFF1A</label>\n <select class=\"form-select col-auto\" [(ngModel)]=\"filters.isActive\" (change)=\"siteIdChange()\">\n <option [value]=\"\"></option>\n <option [value]=\"true\">\u662F</option>\n <option [value]=\"false\">\u5426</option>\n </select>\n </div>\n <div class=\"mb-2 col-3\">\n <label class=\"form-label\">{{'AbpUi::Search' | abpLocalization}}\uFF1A</label>\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"filters.filter\"\n [placeholder]=\"'AbpUi::Search' | abpLocalization\" />\n </div>\n <div class=\"mb-2 col-4\">\n <button class=\"btn btn-primary px-3\" type=\"button\" id=\"button-addon2\" (click)=\"list.get()\">\n <i class=\"fa fa-search\"></i>\n </button>\n </div>\n </div> \n </div>\n </div>\n <div class=\"card mb-0\">\n <div class=\"card-body p-0\">\n <div class=\"table-responsive table-fixed-header\">\n <ngx-datatable class=\"material \" [rows]=\"data.items\" [list]=\"list\"\n [columnMode]=\"ColumnMode.force\" [headerHeight]=\"50\" [footerHeight]=\"50\" rowHeight=\"auto\"\n [virtualization]=\"false\" [externalPaging]=\"true\" [count]=\"data.totalCount\" [scrollbarH]=\"true\">\n <ngx-datatable-column [name]=\"'Cms::DisplayName' | abpLocalization\" prop=\"displayName\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::Name' | abpLocalization\" prop=\"name\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::SectionType' | abpLocalization\" prop=\"type\" [width]=\"80\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{('Cms::Enum:SectionType:'+_SectionType[value]) | abpLocalization}}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::IsDefault' | abpLocalization\" prop=\"isDefault\" [width]=\"60\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n <i class=\"fas fa-check text-success\" *ngIf=\"value\"></i>\n <i class=\"fas fa-times text-danger\" *ngIf=\"!value\"></i>\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::IsActive' | abpLocalization\" prop=\"isActive\" [width]=\"60\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n <i class=\"fas fa-check text-success\" *ngIf=\"value\"></i>\n <i class=\"fas fa-times text-danger\" *ngIf=\"!value\"></i>\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::EntryType' | abpLocalization\" prop=\"SiteId\" [width]=\"100\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n <div ngbDropdown container=\"body\">\n <button type=\"button\" class=\"btn btn-link\" ngbDropdownToggle id=\"dropdownBasic1\">\n {{'Cms::EntryType' | abpLocalization}}\n </button>\n <div ngbDropdownMenu aria-labelledby=\"dropdownBasic1\">\n <ng-container *ngFor=\"let item of row.entryTypes;let i =index\">\n <li ngbDropdownItem\n class=\"d-flex align-items-center justify-content-between\"\n (click.stop)=\"jumpSectionsEdit(row,item)\">{{item.displayName}}\n <button class=\"btn btn-light btn-sm p-0\"\n (click.stop)=\"deleteEntryType(item)\"><i class=\"fas fa-trash p-sm-1\"\n style=\"font-size: 12px;\" role=\"button\"></i></button>\n </li>\n </ng-container>\n <li ngbDropdownItem (click.stop)=\"jumpSectionsCreate(row)\"><i\n class=\"fas fa-plus-circle me-2\"></i>{{'Cms::New' |\n abpLocalization}}</li>\n </div>\n </div>\n\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'Cms::CreationTime' | abpLocalization\" prop=\"creationTime\" [minWidth]=\"190\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value | date : 'yyyy/MM/dd hh:mm:ss' }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [sortable]=\"false\" [frozenRight]=\"true\" [name]=\"'AbpUi::Actions' | abpLocalization\" cellClass=\"cellClassRight\" [width]=\"100\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n <div ngbDropdown container=\"body\">\n <button type=\"button\" class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\n <i class=\"me-1 fa fa-cog\"></i> {{'AbpUi::Actions' | abpLocalization}}\n </button>\n <div ngbDropdownMenu>\n <button ngbDropdownItem (click)=\"editSectionBtn(row)\">{{'AbpUi::Edit' |\n abpLocalization}}</button>\n <button ngbDropdownItem (click)=\"deletefield(row)\">{{'AbpUi::Delete' |\n abpLocalization}}</button>\n </div>\n </div>\n </ng-template>\n </ngx-datatable-column>\n </ngx-datatable>\n </div>\n </div>\n </div>\n </div>\n</abp-page>\n<abp-modal [(visible)]=\"visibleOpen\" [busy]=\"modalBusy\" (visibleChange)=\"VisibleChange($event)\">\n <ng-template #abpHeader>\n <h3>{{selected?('AbpUi::Edit' | abpLocalization):('Cms::New' | abpLocalization)}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <ng-container *ngIf=\"createOrEditForm; else loaderRef\">\n <form class=\"sites-modal-form\" [formGroup]=\"createOrEditForm\" (ngSubmit)=\"createOrEditSave()\">\n <button type=\"submit\" #createOrEditModalSubmitBtn style=\"display: none\"></button>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::EntryType' | abpLocalization}}</label>\n <div>\n <ng-container *ngFor=\"let item of _sectionTypeOptions;let i =index\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"radio\" [value]=\"item.value\"\n (change)=\"radiochange()\" formControlName=\"type\" id=\"flexRadioDefault{{i}}\">\n <label class=\"form-check-label\" for=\"flexRadioDefault{{i}}\">\n {{ 'Cms::Enum:SectionType:'+item.key | abpLocalization }}\n </label>\n </div>\n </ng-container>\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::DisplayName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\"\n (blur)=\"disPlayNameInputBlur($event)\" placeholder=\"\" />\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Name' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" placeholder=\"\" />\n <div class=\"text-danger invalid-feedback\" *ngIf=\"nameInput.errors?.repetition\">\n {{nameInput.errors?.repetition}}\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Route' | abpLocalization}} </label>\n <input type=\"text\" class=\"form-control\" formControlName=\"route\" placeholder=\"\" />\n <div class=\"text-danger invalid-feedback\" *ngIf=\"routeInput.errors?.repetition\">\n {{routeInput.errors?.repetition}}\n </div>\n <div class=\"form-text\">\n {{'Cms::RouteTips' | abpLocalization}}<br>\n blog<br>\n {{'blog/{slug}'}}<br>\n {{'blog/{publishTime:yyyy}/{publishTime:MM}/{slug}'}}\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Template' | abpLocalization}} </label>\n <input type=\"text\" class=\"form-control\" formControlName=\"template\" placeholder=\"\" />\n <div class=\"form-text\">\n {{\"Cms::TemplateTips\" | abpLocalization}}\n </div>\n </div>\n <div class=\"mb-2\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"true\" formControlName=\"isDefault\"\n id=\"isDefault\" />\n <label class=\"form-check-label\" for=\"isDefault\"> {{'Cms::Default' | abpLocalization}} </label>\n </div>\n </div>\n <div class=\"mb-2\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"true\" formControlName=\"isActive\"\n id=\"isActive\" />\n <label class=\"form-check-label\" for=\"isActive\"> {{'Cms::IsActive' | abpLocalization}}</label>\n </div>\n </div>\n\n </form>\n </ng-container>\n </ng-template>\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\" (click)=\"createOrEditModalSubmitBtn.nativeElement.click()\">{{'AbpUi::Save' |\n abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>", styles: ["::ng-deep .sections-page .dignite_page{background:transparent}::ng-deep .sections-page .list-group-flush>.list-group-item:first-child{border-top-width:var(--bs-list-group-border-width)}::ng-deep .sections-page .card-header input{flex:2 1 auto}::ng-deep .sections-page .card-header .form-select{padding:.475rem 3.75rem .475rem 1.25rem}::ng-deep .sites-modal-form .form-control{padding:.4rem 1.25rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "component", type: i8.DatatableComponent, selector: "ngx-datatable", inputs: ["targetMarkerTemplate", "rows", "groupRowsBy", "groupedRows", "columns", "selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "limit", "count", "offset", "loadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "virtualization", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { kind: "directive", type: i8.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { kind: "directive", type: i8.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: ["list"], exportAs: ["ngxDatatableList"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "directive", type: i10.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i10.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i10.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i10.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i11.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
2082
1934
|
}
|
|
2083
1935
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SectionsComponent, decorators: [{
|
|
2084
1936
|
type: Component,
|
|
@@ -2100,13 +1952,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2100
1952
|
}] } });
|
|
2101
1953
|
|
|
2102
1954
|
class CreateOrEditEntryTypeInputBase {
|
|
2103
|
-
/**显示名称 Display name of this field */
|
|
2104
|
-
displayName = ['', [Validators.required]];
|
|
2105
|
-
/**名称 Unique Name*/
|
|
2106
|
-
name = ['', [Validators.required]];
|
|
2107
|
-
/**条目路由 */
|
|
2108
|
-
fieldTabs = new FormArray([]);
|
|
2109
1955
|
constructor(data) {
|
|
1956
|
+
/**显示名称 Display name of this field */
|
|
1957
|
+
this.displayName = ['', [Validators.required]];
|
|
1958
|
+
/**名称 Unique Name*/
|
|
1959
|
+
this.name = ['', [Validators.required]];
|
|
1960
|
+
/**条目路由 */
|
|
1961
|
+
this.fieldTabs = new FormArray([]);
|
|
2110
1962
|
if (data) {
|
|
2111
1963
|
for (const key in data) {
|
|
2112
1964
|
if (data.hasOwnProperty(key)) {
|
|
@@ -2117,10 +1969,10 @@ class CreateOrEditEntryTypeInputBase {
|
|
|
2117
1969
|
}
|
|
2118
1970
|
}
|
|
2119
1971
|
class fieldTabsBase {
|
|
2120
|
-
/**名称 Unique Name*/
|
|
2121
|
-
name = ['', [Validators.required]];
|
|
2122
|
-
fields = [[], []];
|
|
2123
1972
|
constructor(data) {
|
|
1973
|
+
/**名称 Unique Name*/
|
|
1974
|
+
this.name = ['', [Validators.required]];
|
|
1975
|
+
this.fields = [[], []];
|
|
2124
1976
|
if (data) {
|
|
2125
1977
|
for (const key in data) {
|
|
2126
1978
|
if (data.hasOwnProperty(key)) {
|
|
@@ -2131,15 +1983,15 @@ class fieldTabsBase {
|
|
|
2131
1983
|
}
|
|
2132
1984
|
}
|
|
2133
1985
|
class fieldsBase {
|
|
2134
|
-
/**字段id Unique Name*/
|
|
2135
|
-
fieldId = ['', [Validators.required]];
|
|
2136
|
-
/**显示名称 Unique Name*/
|
|
2137
|
-
displayName = ['', [Validators.required]];
|
|
2138
|
-
/**必填 Unique Name*/
|
|
2139
|
-
required = [false, []];
|
|
2140
|
-
/**是否在列表中显示 Unique Name*/
|
|
2141
|
-
showOnList = [false, []];
|
|
2142
1986
|
constructor(data) {
|
|
1987
|
+
/**字段id Unique Name*/
|
|
1988
|
+
this.fieldId = ['', [Validators.required]];
|
|
1989
|
+
/**显示名称 Unique Name*/
|
|
1990
|
+
this.displayName = ['', [Validators.required]];
|
|
1991
|
+
/**必填 Unique Name*/
|
|
1992
|
+
this.required = [false, []];
|
|
1993
|
+
/**是否在列表中显示 Unique Name*/
|
|
1994
|
+
this.showOnList = [false, []];
|
|
2143
1995
|
if (data) {
|
|
2144
1996
|
for (const key in data) {
|
|
2145
1997
|
if (data.hasOwnProperty(key)) {
|
|
@@ -2150,15 +2002,15 @@ class fieldsBase {
|
|
|
2150
2002
|
}
|
|
2151
2003
|
}
|
|
2152
2004
|
class fieldsInputBase {
|
|
2153
|
-
/**字段id */
|
|
2154
|
-
fieldId = ['', [Validators.required]];
|
|
2155
|
-
/**显示名称 Display name of this field */
|
|
2156
|
-
displayName = ['', [Validators.required]];
|
|
2157
|
-
/**是否必填 Unique Name*/
|
|
2158
|
-
required = [false, []];
|
|
2159
|
-
/**在列表中展示 Unique Name*/
|
|
2160
|
-
showOnList = [false, []];
|
|
2161
2005
|
constructor(data) {
|
|
2006
|
+
/**字段id */
|
|
2007
|
+
this.fieldId = ['', [Validators.required]];
|
|
2008
|
+
/**显示名称 Display name of this field */
|
|
2009
|
+
this.displayName = ['', [Validators.required]];
|
|
2010
|
+
/**是否必填 Unique Name*/
|
|
2011
|
+
this.required = [false, []];
|
|
2012
|
+
/**在列表中展示 Unique Name*/
|
|
2013
|
+
this.showOnList = [false, []];
|
|
2162
2014
|
if (data) {
|
|
2163
2015
|
for (const key in data) {
|
|
2164
2016
|
if (data.hasOwnProperty(key)) {
|
|
@@ -2170,15 +2022,6 @@ class fieldsInputBase {
|
|
|
2170
2022
|
}
|
|
2171
2023
|
|
|
2172
2024
|
class CreateOrEditComponent {
|
|
2173
|
-
toaster;
|
|
2174
|
-
_location;
|
|
2175
|
-
route;
|
|
2176
|
-
_FieldGroupAdminService;
|
|
2177
|
-
_FieldAdminService;
|
|
2178
|
-
_EntryTypeAdminService;
|
|
2179
|
-
_LocalizationService;
|
|
2180
|
-
_CmsApiService;
|
|
2181
|
-
router;
|
|
2182
2025
|
constructor(
|
|
2183
2026
|
// private fb: FormBuilder,
|
|
2184
2027
|
toaster, _location, route, _FieldGroupAdminService, _FieldAdminService, _EntryTypeAdminService, _LocalizationService, _CmsApiService, router) {
|
|
@@ -2191,22 +2034,37 @@ class CreateOrEditComponent {
|
|
|
2191
2034
|
this._LocalizationService = _LocalizationService;
|
|
2192
2035
|
this._CmsApiService = _CmsApiService;
|
|
2193
2036
|
this.router = router;
|
|
2037
|
+
this.fb = inject(FormBuilder);
|
|
2038
|
+
this._UpdateListService = inject(UpdateListService);
|
|
2039
|
+
/**表单实体 */
|
|
2040
|
+
this.newEntity = this.fb.group(new CreateOrEditEntryTypeInputBase());
|
|
2041
|
+
/**版块id */
|
|
2042
|
+
this.sectionId = '';
|
|
2043
|
+
/**条目类型id */
|
|
2044
|
+
this.entryTypesId = '';
|
|
2045
|
+
/**
|
|
2046
|
+
* 拖拽 功能*/
|
|
2047
|
+
/**数据源 */
|
|
2048
|
+
/**数据源-字段分组数据-包含字段数据 fields */
|
|
2049
|
+
this.fieldGroupList = [];
|
|
2050
|
+
/**数据源-所有字段列表 */
|
|
2051
|
+
this.fieldList = [];
|
|
2052
|
+
/**目标源 结果*/
|
|
2053
|
+
this.resultSource = [];
|
|
2054
|
+
/**来自数据源的集合,用于从目标源拖回数据源时的判断,与取值 */
|
|
2055
|
+
this.formRightGroup = [];
|
|
2056
|
+
/**模态框状态 */
|
|
2057
|
+
this.visibleTabsOpen = false;
|
|
2058
|
+
/**是否是忙碌状态 */
|
|
2059
|
+
this.modalBusy = false;
|
|
2060
|
+
/**正在选中的nav */
|
|
2061
|
+
this.navActive = 0;
|
|
2062
|
+
/**编辑字段模态框状态 */
|
|
2063
|
+
this.visibleEditFieldOpen = false;
|
|
2194
2064
|
}
|
|
2195
|
-
fb = inject(FormBuilder);
|
|
2196
|
-
_UpdateListService = inject(UpdateListService);
|
|
2197
|
-
/**表单实体 */
|
|
2198
|
-
newEntity = this.fb.group(new CreateOrEditEntryTypeInputBase());
|
|
2199
|
-
/**版块id */
|
|
2200
|
-
sectionId = '';
|
|
2201
|
-
/**条目类型id */
|
|
2202
|
-
entryTypesId = '';
|
|
2203
|
-
/**条目类型详情 */
|
|
2204
|
-
entryTypesSelect;
|
|
2205
2065
|
get fieldTabs() {
|
|
2206
2066
|
return this.newEntity.get('fieldTabs');
|
|
2207
2067
|
}
|
|
2208
|
-
/**获取提交按钮替身,用于真实触发表单提交 */
|
|
2209
|
-
submitclick;
|
|
2210
2068
|
/**触发提交按钮 */
|
|
2211
2069
|
submitclickBtn() {
|
|
2212
2070
|
this.submitclick.nativeElement.click();
|
|
@@ -2315,25 +2173,6 @@ class CreateOrEditComponent {
|
|
|
2315
2173
|
});
|
|
2316
2174
|
});
|
|
2317
2175
|
}
|
|
2318
|
-
/**
|
|
2319
|
-
* 拖拽 功能*/
|
|
2320
|
-
/**数据源 */
|
|
2321
|
-
/**数据源-字段分组数据-包含字段数据 fields */
|
|
2322
|
-
fieldGroupList = [];
|
|
2323
|
-
/**数据源-所有字段列表 */
|
|
2324
|
-
fieldList = [];
|
|
2325
|
-
/**数据源拖拽的分组下标 */
|
|
2326
|
-
DataSourceGroupIndex;
|
|
2327
|
-
/**数据源拖拽的字段下标 */
|
|
2328
|
-
DataSourceFieldIndex;
|
|
2329
|
-
/**目标源 结果*/
|
|
2330
|
-
resultSource = [];
|
|
2331
|
-
/**从数据源拖拽的元素 */
|
|
2332
|
-
fromDataSourceDragEl;
|
|
2333
|
-
/**从目标源拖拽的元素 */
|
|
2334
|
-
fromResultSourceDragEl;
|
|
2335
|
-
/**来自数据源的集合,用于从目标源拖回数据源时的判断,与取值 */
|
|
2336
|
-
formRightGroup = [];
|
|
2337
2176
|
/**从数据源开始拖拽 */
|
|
2338
2177
|
fromDataSourceDragStart(element, fieldIndex, groupIndex) {
|
|
2339
2178
|
this.fromDataSourceDragEl = element;
|
|
@@ -2442,18 +2281,6 @@ class CreateOrEditComponent {
|
|
|
2442
2281
|
});
|
|
2443
2282
|
});
|
|
2444
2283
|
}
|
|
2445
|
-
/**编辑Tabs表单 */
|
|
2446
|
-
editFieldTabsFrom;
|
|
2447
|
-
/**模态框状态 */
|
|
2448
|
-
visibleTabsOpen = false;
|
|
2449
|
-
/**是否是忙碌状态 */
|
|
2450
|
-
modalBusy = false;
|
|
2451
|
-
/**正在编辑的tabs */
|
|
2452
|
-
editFieldTabsSelect;
|
|
2453
|
-
/**正在选中的nav */
|
|
2454
|
-
navActive = 0;
|
|
2455
|
-
/**表单控件模板-动态赋值表单控件 */
|
|
2456
|
-
editFieldTabsModalSubmitBtn;
|
|
2457
2284
|
/**模态框状态改变回调 */
|
|
2458
2285
|
VisibleTabsChange(event) {
|
|
2459
2286
|
if (!event) {
|
|
@@ -2466,8 +2293,6 @@ class CreateOrEditComponent {
|
|
|
2466
2293
|
this.editFieldTabsFrom = this.fb.group(new fieldTabsBase());
|
|
2467
2294
|
this.visibleTabsOpen = true;
|
|
2468
2295
|
}
|
|
2469
|
-
/**正在编辑的tab下标 */
|
|
2470
|
-
newEditFieldTabsIndex;
|
|
2471
2296
|
/**编辑FieldTabs */
|
|
2472
2297
|
editFieldTabs(item, i) {
|
|
2473
2298
|
this.editFieldTabsFrom = this.fb.group(new fieldTabsBase({
|
|
@@ -2496,14 +2321,6 @@ class CreateOrEditComponent {
|
|
|
2496
2321
|
this.fieldTabs.removeAt(index);
|
|
2497
2322
|
this.resultSource.splice(index, 1);
|
|
2498
2323
|
}
|
|
2499
|
-
/**编辑字段模态框状态 */
|
|
2500
|
-
visibleEditFieldOpen = false;
|
|
2501
|
-
/**编辑字段模态框表单 */
|
|
2502
|
-
editFieldFrom;
|
|
2503
|
-
/**表单控件模板-动态赋值表单控件-编辑字段 */
|
|
2504
|
-
editFieldModalSubmitBtn;
|
|
2505
|
-
/**正在编辑的字段下标 */
|
|
2506
|
-
EditFieldIndex;
|
|
2507
2324
|
/**编辑字段模态框状态状态改变回调 */
|
|
2508
2325
|
VisibleEditFieldChange(event) {
|
|
2509
2326
|
if (!event) {
|
|
@@ -2539,13 +2356,13 @@ class CreateOrEditComponent {
|
|
|
2539
2356
|
return;
|
|
2540
2357
|
nameInput.patchValue(pinyin);
|
|
2541
2358
|
}
|
|
2542
|
-
static
|
|
2543
|
-
static
|
|
2359
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateOrEditComponent, deps: [{ token: i3.ToasterService }, { token: i2.Location }, { token: i3$1.ActivatedRoute }, { token: FieldGroupAdminService }, { token: FieldAdminService }, { token: EntryTypeAdminService }, { token: i1.LocalizationService }, { token: CmsApiService }, { token: i3$1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2360
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateOrEditComponent, selector: "cms-create-or-edit", providers: [
|
|
2544
2361
|
{
|
|
2545
2362
|
provide: EXTENSIONS_IDENTIFIER,
|
|
2546
2363
|
useValue: ECmsComponent.SectionsCreateOrEdit,
|
|
2547
2364
|
},
|
|
2548
|
-
], viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }, { propertyName: "editFieldTabsModalSubmitBtn", first: true, predicate: ["editFieldTabsModalSubmitBtn"], descendants: true }, { propertyName: "editFieldModalSubmitBtn", first: true, predicate: ["editFieldModalSubmitBtn"], descendants: true }], ngImport: i0, template: "<form class=\"row g-3 needs-validation\" [formGroup]=\"newEntity\" (ngSubmit)=\"save()\">\n <abp-page [title]=\"entryTypesId ? ('AbpUi::Edit' | abpLocalization):('Cms::New' | abpLocalization)\" [toolbar]=\"true\">\n <div class=\"create-or-edit-entry-type-page\">\n <div class=\"card\">\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n <div class=\"card-body\">\n <div class=\"\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::DisplayName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\"\n (blur)=\"disPlayNameInputBlur($event)\" placeholder=\"\" />\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Name' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" placeholder=\"\" />\n </div>\n <div formArrayName=\"fieldTabs\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::FieldLayout' | abpLocalization}}</label>\n <div class=\"container\">\n <!-- -->\n <div class=\"row\">\n <div class=\"col-sm-8\">\n <ul ngbNav #nav=\"ngbNav\" [(activeId)]=\"navActive\" class=\"nav nav-tabs\">\n <ng-container *ngFor=\"let item of resultSource; let i = index\">\n <li [ngbNavItem]=\"i\">\n <button type=\"button\" ngbDropdown ngbNavLink>\n {{ item.name }}\n <span class=\"ms-1\" (click.stop)=\"$event.stopPropagation()\"\n ngbDropdownToggle></span>\n <div ngbDropdownMenu style=\"z-index: 999;\">\n <li ngbDropdownItem type=\"button\"\n (click.stop)=\"editFieldTabs(item,i)\">\n <i class=\"fas fa-edit\"></i>\n {{'AbpUi::Edit' | abpLocalization}}\n </li>\n <li ngbDropdownItem\n *ngIf=\"resultSource.length !== 1\" type=\"button\"\n (click.stop)=\"deleteFieldTabs(i)\">\n <i class=\"fas fa-trash\"></i>\n {{'AbpUi::Delete' | abpLocalization}}\n </li>\n </div>\n </button>\n <ng-template ngbNavContent>\n <div class=\"p-2\" ondragover=\"event.preventDefault();\"\n (drop)=\"dragToResultSourceDropped(item,i)\" style=\"height: 100%;\">\n <p class=\"form-text\" *ngIf=\"item.fields.length === 0\">\n {{'Cms::DragAndDropFieldTips' | abpLocalization}}\n </p>\n <ul class=\"list-group\" style=\"height: 100%;\">\n <ng-container\n *ngFor=\"let el of item.fields; let iel = index\">\n <li draggable=\"true\"\n (dragstart)=\"fromResultSourceDragStart(el)\"\n (drop)=\"dragToResultSourceItemDropped(iel)\"\n class=\"list-group-item d-flex align-items-center justify-content-between py-1\" style=\"position: unset;\">\n {{ el.displayName }}\n <button class=\"p-0 btn btn-sm btn-light\"\n (click.stop)=\"EditFieldModalOpen(el,iel)\"\n type=\"button\"><i\n class=\"fas fa-wrench p-sm-1\"\n role=\"button\"></i></button>\n </li>\n </ng-container>\n </ul>\n \n </div>\n </ng-template>\n </li>\n </ng-container>\n <li class=\"nav-item\" role=\"presentation\">\n <button type=\"button\" class=\"nav-link\"\n (click.stop)=\"addFieldTabs()\">\n <i class=\"fas fa-plus-circle\"></i>\n {{'Cms::NewTab' | abpLocalization}}\n </button>\n </li>\n </ul>\n <div [ngbNavOutlet]=\"nav\" class=\"mt-2 bordernNavs p-0\"></div>\n </div>\n <div class=\"col-sm-4\">\n <div ngbAccordion #accordion=\"ngbAccordion\"\n ondragover=\"event.preventDefault();\" (drop)=\"dragToDataSourceDropped()\"\n style=\"min-height: 80px;\">\n <ng-container *ngFor=\"let item of fieldGroupList; let i = index\">\n <div [ngbAccordionItem]=\"item.name\" *ngIf=\"item.fields.length > 0\">\n <h2 ngbAccordionHeader>\n <button ngbAccordionButton>{{\n ('Cms::'+item.name) | abpLocalization }}</button>\n </h2>\n <div ngbAccordionCollapse>\n <div ngbAccordionBody>\n <ng-template>\n <ul class=\"list-group\">\n <ng-container\n *ngFor=\"let el of item.fields; let ii = index\">\n <li draggable=\"true\"\n (dragstart)=\"fromDataSourceDragStart(el,ii,i)\"\n class=\"list-group-item\">\n {{ el.displayName }}\n </li>\n </ng-container>\n </ul>\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n\n </div>\n </div>\n\n\n </div>\n </abp-page>\n\n</form>\n\n<abp-modal [(visible)]=\"visibleTabsOpen\" [busy]=\"modalBusy\" (visibleChange)=\"VisibleTabsChange($event)\">\n <ng-template #abpHeader>\n <h3>{{ editFieldTabsSelect ? ('AbpUi::Edit' | abpLocalization):('Cms::New' | abpLocalization)}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <ng-container *ngIf=\"editFieldTabsFrom; else loaderRef\">\n <form class=\"sites-modal-form\" [formGroup]=\"editFieldTabsFrom\" (ngSubmit)=\"editFieldTabsSave()\">\n <button type=\"submit\" #editFieldTabsModalSubmitBtn style=\"display: none\"></button>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Name' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" placeholder=\"\" />\n </div>\n </form>\n </ng-container>\n </ng-template>\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"!editFieldTabsFrom.valid\"\n (click)=\"editFieldTabsModalSubmitBtn.nativeElement.click()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>\n\n\n<abp-modal [(visible)]=\"visibleEditFieldOpen\" [busy]=\"modalBusy\" (visibleChange)=\"VisibleEditFieldChange($event)\">\n <ng-template #abpHeader>\n <h3>{{'AbpUi::Edit' | abpLocalization}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <ng-container *ngIf=\"editFieldFrom; else loaderRef\">\n <form class=\"sites-modal-form\" [formGroup]=\"editFieldFrom\" (ngSubmit)=\"editFieldSave()\">\n <button type=\"submit\" #editFieldModalSubmitBtn style=\"display: none\"></button>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::DisplayName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\" placeholder=\"\" />\n </div>\n <div class=\"mb-2\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"true\" formControlName=\"required\"\n id=\"required\" />\n <label class=\"form-check-label\" for=\"required\"> {{'Cms::Required' | abpLocalization}} </label>\n </div>\n </div>\n <div class=\"mb-2\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"true\" formControlName=\"showOnList\"\n id=\"showOnList\" />\n <label class=\"form-check-label\" for=\"showOnList\"> {{'Cms::ShowOnList' | abpLocalization}} </label>\n </div>\n </div>\n </form>\n </ng-container>\n </ng-template>\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"!editFieldFrom.valid\"\n (click)=\"editFieldModalSubmitBtn.nativeElement.click()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>", styles: ["::ng-deep .create-or-edit-entry-type-page .dignite_page{height:calc(100vh - 125px);overflow:auto}::ng-deep .create-or-edit-entry-type-page .form-control,::ng-deep .create-or-edit-entry-type-page .form-select{padding:.475rem 1.25rem}::ng-deep .create-or-edit-entry-type-page .cursor-move{cursor:move}::ng-deep .create-or-edit-entry-type-page .bordernNavs{border:var(--bs-border-width) solid var(--lpx-border-color);padding-left:inherit;padding-right:inherit;height:calc(100% - 60px)}::ng-deep .create-or-edit-entry-type-page .tab-pane{height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "directive", type: i10.NgbNavContent, selector: "ng-template[ngbNavContent]" }, { kind: "directive", type: i10.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { kind: "directive", type: i10.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { kind: "directive", type: i10.NgbNavItemRole, selector: "[ngbNavItem]:not(ng-container)" }, { kind: "directive", type: i10.NgbNavLinkButton, selector: "button[ngbNavLink]" }, { kind: "directive", type: i10.NgbNavLinkBase, selector: "[ngbNavLink]" }, { kind: "component", type: i10.NgbNavOutlet, selector: "[ngbNavOutlet]", inputs: ["paneRole", "ngbNavOutlet"] }, { kind: "directive", type: i10.NgbAccordionButton, selector: "button[ngbAccordionButton]" }, { kind: "directive", type: i10.NgbAccordionDirective, selector: "[ngbAccordion]", inputs: ["animation", "closeOthers", "destroyOnHide"], outputs: ["show", "shown", "hide", "hidden"], exportAs: ["ngbAccordion"] }, { kind: "directive", type: i10.NgbAccordionItem, selector: "[ngbAccordionItem]", inputs: ["ngbAccordionItem", "destroyOnHide", "disabled", "collapsed"], outputs: ["show", "shown", "hide", "hidden"], exportAs: ["ngbAccordionItem"] }, { kind: "directive", type: i10.NgbAccordionHeader, selector: "[ngbAccordionHeader]" }, { kind: "directive", type: i10.NgbAccordionBody, selector: "[ngbAccordionBody]" }, { kind: "directive", type: i10.NgbAccordionCollapse, selector: "[ngbAccordionCollapse]", exportAs: ["ngbAccordionCollapse"] }, { kind: "directive", type: i10.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i10.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i10.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i10.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i11.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
|
|
2365
|
+
], viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }, { propertyName: "editFieldTabsModalSubmitBtn", first: true, predicate: ["editFieldTabsModalSubmitBtn"], descendants: true }, { propertyName: "editFieldModalSubmitBtn", first: true, predicate: ["editFieldModalSubmitBtn"], descendants: true }], ngImport: i0, template: "<form class=\"row g-3 needs-validation\" [formGroup]=\"newEntity\" (ngSubmit)=\"save()\">\n <abp-page [title]=\"entryTypesId ? ('AbpUi::Edit' | abpLocalization):('Cms::New' | abpLocalization)\" [toolbar]=\"true\">\n <div class=\"create-or-edit-entry-type-page\">\n <div class=\"card\">\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n <div class=\"card-body\">\n <div class=\"\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::DisplayName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\"\n (blur)=\"disPlayNameInputBlur($event)\" placeholder=\"\" />\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Name' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" placeholder=\"\" />\n </div>\n <div formArrayName=\"fieldTabs\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::FieldLayout' | abpLocalization}}</label>\n <div class=\"container\">\n <!-- -->\n <div class=\"row\">\n <div class=\"col-sm-8\">\n <ul ngbNav #nav=\"ngbNav\" [(activeId)]=\"navActive\" class=\"nav nav-tabs\">\n <ng-container *ngFor=\"let item of resultSource; let i = index\">\n <li [ngbNavItem]=\"i\">\n <button type=\"button\" ngbDropdown ngbNavLink>\n {{ item.name }}\n <span class=\"ms-1\" (click.stop)=\"$event.stopPropagation()\"\n ngbDropdownToggle></span>\n <div ngbDropdownMenu style=\"z-index: 999;\">\n <li ngbDropdownItem type=\"button\"\n (click.stop)=\"editFieldTabs(item,i)\">\n <i class=\"fas fa-edit\"></i>\n {{'AbpUi::Edit' | abpLocalization}}\n </li>\n <li ngbDropdownItem\n *ngIf=\"resultSource.length !== 1\" type=\"button\"\n (click.stop)=\"deleteFieldTabs(i)\">\n <i class=\"fas fa-trash\"></i>\n {{'AbpUi::Delete' | abpLocalization}}\n </li>\n </div>\n </button>\n <ng-template ngbNavContent>\n <div class=\"p-2\" ondragover=\"event.preventDefault();\"\n (drop)=\"dragToResultSourceDropped(item,i)\" style=\"height: 100%;\">\n <p class=\"form-text\" *ngIf=\"item.fields.length === 0\">\n {{'Cms::DragAndDropFieldTips' | abpLocalization}}\n </p>\n <ul class=\"list-group\" style=\"height: 100%;\">\n <ng-container\n *ngFor=\"let el of item.fields; let iel = index\">\n <li draggable=\"true\"\n (dragstart)=\"fromResultSourceDragStart(el)\"\n (drop)=\"dragToResultSourceItemDropped(iel)\"\n class=\"list-group-item d-flex align-items-center justify-content-between py-1\" style=\"position: unset;\">\n {{ el.displayName }}\n <button class=\"p-0 btn btn-sm btn-light\"\n (click.stop)=\"EditFieldModalOpen(el,iel)\"\n type=\"button\"><i\n class=\"fas fa-wrench p-sm-1\"\n role=\"button\"></i></button>\n </li>\n </ng-container>\n </ul>\n \n </div>\n </ng-template>\n </li>\n </ng-container>\n <li class=\"nav-item\" role=\"presentation\">\n <button type=\"button\" class=\"nav-link\"\n (click.stop)=\"addFieldTabs()\">\n <i class=\"fas fa-plus-circle\"></i>\n {{'Cms::NewTab' | abpLocalization}}\n </button>\n </li>\n </ul>\n <div [ngbNavOutlet]=\"nav\" class=\"mt-2 bordernNavs p-0\"></div>\n </div>\n <div class=\"col-sm-4\">\n <div ngbAccordion #accordion=\"ngbAccordion\"\n ondragover=\"event.preventDefault();\" (drop)=\"dragToDataSourceDropped()\"\n style=\"min-height: 80px;\">\n <ng-container *ngFor=\"let item of fieldGroupList; let i = index\">\n <div [ngbAccordionItem]=\"item.name\" *ngIf=\"item.fields.length > 0\">\n <h2 ngbAccordionHeader>\n <button ngbAccordionButton>{{\n ('Cms::'+item.name) | abpLocalization }}</button>\n </h2>\n <div ngbAccordionCollapse>\n <div ngbAccordionBody>\n <ng-template>\n <ul class=\"list-group\">\n <ng-container\n *ngFor=\"let el of item.fields; let ii = index\">\n <li draggable=\"true\"\n (dragstart)=\"fromDataSourceDragStart(el,ii,i)\"\n class=\"list-group-item\">\n {{ el.displayName }}\n </li>\n </ng-container>\n </ul>\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n\n </div>\n </div>\n\n\n </div>\n </abp-page>\n\n</form>\n\n<abp-modal [(visible)]=\"visibleTabsOpen\" [busy]=\"modalBusy\" (visibleChange)=\"VisibleTabsChange($event)\">\n <ng-template #abpHeader>\n <h3>{{ editFieldTabsSelect ? ('AbpUi::Edit' | abpLocalization):('Cms::New' | abpLocalization)}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <ng-container *ngIf=\"editFieldTabsFrom; else loaderRef\">\n <form class=\"sites-modal-form\" [formGroup]=\"editFieldTabsFrom\" (ngSubmit)=\"editFieldTabsSave()\">\n <button type=\"submit\" #editFieldTabsModalSubmitBtn style=\"display: none\"></button>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Name' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" placeholder=\"\" />\n </div>\n </form>\n </ng-container>\n </ng-template>\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"!editFieldTabsFrom.valid\"\n (click)=\"editFieldTabsModalSubmitBtn.nativeElement.click()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>\n\n\n<abp-modal [(visible)]=\"visibleEditFieldOpen\" [busy]=\"modalBusy\" (visibleChange)=\"VisibleEditFieldChange($event)\">\n <ng-template #abpHeader>\n <h3>{{'AbpUi::Edit' | abpLocalization}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <ng-container *ngIf=\"editFieldFrom; else loaderRef\">\n <form class=\"sites-modal-form\" [formGroup]=\"editFieldFrom\" (ngSubmit)=\"editFieldSave()\">\n <button type=\"submit\" #editFieldModalSubmitBtn style=\"display: none\"></button>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::DisplayName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\" placeholder=\"\" />\n </div>\n <div class=\"mb-2\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"true\" formControlName=\"required\"\n id=\"required\" />\n <label class=\"form-check-label\" for=\"required\"> {{'Cms::Required' | abpLocalization}} </label>\n </div>\n </div>\n <div class=\"mb-2\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"true\" formControlName=\"showOnList\"\n id=\"showOnList\" />\n <label class=\"form-check-label\" for=\"showOnList\"> {{'Cms::ShowOnList' | abpLocalization}} </label>\n </div>\n </div>\n </form>\n </ng-container>\n </ng-template>\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"!editFieldFrom.valid\"\n (click)=\"editFieldModalSubmitBtn.nativeElement.click()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>", styles: ["::ng-deep .create-or-edit-entry-type-page .dignite_page{height:calc(100vh - 125px);overflow:auto}::ng-deep .create-or-edit-entry-type-page .form-control,::ng-deep .create-or-edit-entry-type-page .form-select{padding:.475rem 1.25rem}::ng-deep .create-or-edit-entry-type-page .cursor-move{cursor:move}::ng-deep .create-or-edit-entry-type-page .bordernNavs{border:var(--bs-border-width) solid var(--lpx-border-color);padding-left:inherit;padding-right:inherit;height:calc(100% - 60px)}::ng-deep .create-or-edit-entry-type-page .tab-pane{height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "directive", type: i10.NgbNavContent, selector: "ng-template[ngbNavContent]" }, { kind: "directive", type: i10.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { kind: "directive", type: i10.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { kind: "directive", type: i10.NgbNavItemRole, selector: "[ngbNavItem]:not(ng-container)" }, { kind: "directive", type: i10.NgbNavLinkButton, selector: "button[ngbNavLink]" }, { kind: "directive", type: i10.NgbNavLinkBase, selector: "[ngbNavLink]" }, { kind: "component", type: i10.NgbNavOutlet, selector: "[ngbNavOutlet]", inputs: ["paneRole", "ngbNavOutlet"] }, { kind: "directive", type: i10.NgbAccordionButton, selector: "button[ngbAccordionButton]" }, { kind: "directive", type: i10.NgbAccordionDirective, selector: "[ngbAccordion]", inputs: ["animation", "closeOthers", "destroyOnHide"], outputs: ["show", "shown", "hide", "hidden"], exportAs: ["ngbAccordion"] }, { kind: "directive", type: i10.NgbAccordionItem, selector: "[ngbAccordionItem]", inputs: ["ngbAccordionItem", "destroyOnHide", "disabled", "collapsed"], outputs: ["show", "shown", "hide", "hidden"], exportAs: ["ngbAccordionItem"] }, { kind: "directive", type: i10.NgbAccordionHeader, selector: "[ngbAccordionHeader]" }, { kind: "directive", type: i10.NgbAccordionBody, selector: "[ngbAccordionBody]" }, { kind: "directive", type: i10.NgbAccordionCollapse, selector: "[ngbAccordionCollapse]", exportAs: ["ngbAccordionCollapse"] }, { kind: "directive", type: i10.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i10.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i10.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i10.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i11.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
2549
2366
|
}
|
|
2550
2367
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateOrEditComponent, decorators: [{
|
|
2551
2368
|
type: Component,
|
|
@@ -2567,27 +2384,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2567
2384
|
}] } });
|
|
2568
2385
|
|
|
2569
2386
|
class DomainAdminService {
|
|
2570
|
-
restService;
|
|
2571
|
-
apiName = 'CmsAdmin';
|
|
2572
|
-
getBound = (config) => this.restService.request({
|
|
2573
|
-
method: 'GET',
|
|
2574
|
-
url: '/api/cms-admin/domains/bound',
|
|
2575
|
-
}, { apiName: this.apiName, ...config });
|
|
2576
|
-
nameExists = (domainName, config) => this.restService.request({
|
|
2577
|
-
method: 'GET',
|
|
2578
|
-
url: '/api/cms-admin/domains/name-exists',
|
|
2579
|
-
params: { domainName },
|
|
2580
|
-
}, { apiName: this.apiName, ...config });
|
|
2581
|
-
update = (input, config) => this.restService.request({
|
|
2582
|
-
method: 'POST',
|
|
2583
|
-
url: '/api/cms-admin/domains',
|
|
2584
|
-
body: input,
|
|
2585
|
-
}, { apiName: this.apiName, ...config });
|
|
2586
2387
|
constructor(restService) {
|
|
2587
2388
|
this.restService = restService;
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2389
|
+
this.apiName = 'CmsAdmin';
|
|
2390
|
+
this.getBound = (config) => this.restService.request({
|
|
2391
|
+
method: 'GET',
|
|
2392
|
+
url: '/api/cms-admin/domains/bound',
|
|
2393
|
+
}, { apiName: this.apiName, ...config });
|
|
2394
|
+
this.nameExists = (domainName, config) => this.restService.request({
|
|
2395
|
+
method: 'GET',
|
|
2396
|
+
url: '/api/cms-admin/domains/name-exists',
|
|
2397
|
+
params: { domainName },
|
|
2398
|
+
}, { apiName: this.apiName, ...config });
|
|
2399
|
+
this.update = (input, config) => this.restService.request({
|
|
2400
|
+
method: 'POST',
|
|
2401
|
+
url: '/api/cms-admin/domains',
|
|
2402
|
+
body: input,
|
|
2403
|
+
}, { apiName: this.apiName, ...config });
|
|
2404
|
+
}
|
|
2405
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DomainAdminService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2406
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DomainAdminService, providedIn: 'root' }); }
|
|
2591
2407
|
}
|
|
2592
2408
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DomainAdminService, decorators: [{
|
|
2593
2409
|
type: Injectable,
|
|
@@ -2597,13 +2413,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2597
2413
|
}], ctorParameters: function () { return [{ type: i1.RestService }]; } });
|
|
2598
2414
|
|
|
2599
2415
|
class DomainsComponent {
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2416
|
+
constructor() {
|
|
2417
|
+
this.toaster = inject(ToasterService);
|
|
2418
|
+
this._DomainAdminService = inject(DomainAdminService);
|
|
2419
|
+
this._LocalizationService = inject(LocalizationService);
|
|
2420
|
+
/**domain详情 */
|
|
2421
|
+
this.domainInfo = '';
|
|
2422
|
+
}
|
|
2607
2423
|
get domainNameInput() {
|
|
2608
2424
|
return this.newEntity.get('domainName');
|
|
2609
2425
|
}
|
|
@@ -2667,8 +2483,8 @@ class DomainsComponent {
|
|
|
2667
2483
|
await this.getDomainsBound();
|
|
2668
2484
|
});
|
|
2669
2485
|
}
|
|
2670
|
-
static
|
|
2671
|
-
static
|
|
2486
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DomainsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2487
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DomainsComponent, selector: "cms-domains", ngImport: i0, template: "<form [formGroup]=\"newEntity\" (ngSubmit)=\"SaveSubmit()\">\n \n <div class=\"d-flex align-items-center justify-content-between\">\n <h2>{{'Cms::Domain'|abpLocalization}}</h2>\n <button class=\"btn btn-primary btn-sm\" type=\"submit\"><i\n class=\"me-1 fas fa-save\"></i>{{'AbpUi::Save'|abpLocalization}}</button>\n </div>\n <hr class=\"my-3\" />\n <div class=\"mb-2\">\n <!-- <label class=\"form-label\" for=\"title\">{{'Cms::Domain' | abpLocalization}}</label> -->\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\n <div class=\"text-danger invalid-feedback\" *ngIf=\"domainNameInput.errors?.repetition\">\n {{domainNameInput.errors?.repetition}}\n </div>\n <div class=\"form-text\">\u6B64\u5904\u662F\u586B\u5199\u57DF\u540D\u7684\u63CF\u8FF0\uFF0C\u9700\u8981\u4E00\u4E2A\u5B57\u6BB5\u7EDF\u4E00\u914D\u7F6E\u57DF\u540D\u591A\u8BED\u8A00\uFF0C</div>\n\n </div>\n <hr class=\"my-3\" />\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
2672
2488
|
}
|
|
2673
2489
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DomainsComponent, decorators: [{
|
|
2674
2490
|
type: Component,
|
|
@@ -2676,13 +2492,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2676
2492
|
}] });
|
|
2677
2493
|
|
|
2678
2494
|
class EntryConfig {
|
|
2679
|
-
/**多选 */
|
|
2680
|
-
'Entry.Multiple' = [false, []];
|
|
2681
|
-
/**占位符 */
|
|
2682
|
-
'Entry.Placeholder' = ['', []];
|
|
2683
|
-
/**版块id */
|
|
2684
|
-
'Entry.SectionId' = ['', []];
|
|
2685
2495
|
constructor(data) {
|
|
2496
|
+
/**多选 */
|
|
2497
|
+
this['Entry.Multiple'] = [false, []];
|
|
2498
|
+
/**占位符 */
|
|
2499
|
+
this['Entry.Placeholder'] = ['', []];
|
|
2500
|
+
/**版块id */
|
|
2501
|
+
this['Entry.SectionId'] = ['', []];
|
|
2686
2502
|
if (data) {
|
|
2687
2503
|
for (const key in data) {
|
|
2688
2504
|
if (data.hasOwnProperty(key)) {
|
|
@@ -2694,47 +2510,36 @@ class EntryConfig {
|
|
|
2694
2510
|
}
|
|
2695
2511
|
|
|
2696
2512
|
class EntryConfigComponent {
|
|
2697
|
-
fb;
|
|
2698
|
-
_SectionAdminService;
|
|
2699
2513
|
constructor(fb,
|
|
2700
2514
|
// private _SiteAdminService: SiteAdminService,
|
|
2701
2515
|
_SectionAdminService) {
|
|
2702
2516
|
this.fb = fb;
|
|
2703
2517
|
this._SectionAdminService = _SectionAdminService;
|
|
2518
|
+
/**站点列表 */
|
|
2519
|
+
this.siteList = [];
|
|
2520
|
+
/**选择的站点id */
|
|
2521
|
+
// siteId: string = ''
|
|
2522
|
+
this.siteId = new FormControl('');
|
|
2523
|
+
/**站点下的版块 */
|
|
2524
|
+
this.SiteOfSectionList = [];
|
|
2704
2525
|
}
|
|
2705
|
-
/**表单控件类型 */
|
|
2706
|
-
_type;
|
|
2707
2526
|
set type(v) {
|
|
2708
2527
|
if (v == this._type)
|
|
2709
2528
|
return;
|
|
2710
2529
|
this._type = v;
|
|
2711
2530
|
}
|
|
2712
|
-
/**表单实体 */
|
|
2713
|
-
_Entity;
|
|
2714
2531
|
set Entity(v) {
|
|
2715
2532
|
this._Entity = v;
|
|
2716
2533
|
}
|
|
2717
|
-
/**选择的表单信息 */
|
|
2718
|
-
_selected;
|
|
2719
2534
|
set selected(v) {
|
|
2720
2535
|
this._selected = v;
|
|
2721
2536
|
}
|
|
2722
|
-
/**语言 */
|
|
2723
|
-
_culture;
|
|
2724
2537
|
set culture(v) {
|
|
2725
2538
|
this._culture = v;
|
|
2726
2539
|
}
|
|
2727
2540
|
get formConfiguration() {
|
|
2728
2541
|
return this._Entity.get('formConfiguration');
|
|
2729
2542
|
}
|
|
2730
|
-
submitclick;
|
|
2731
|
-
/**站点列表 */
|
|
2732
|
-
siteList = [];
|
|
2733
|
-
/**选择的站点id */
|
|
2734
|
-
// siteId: string = ''
|
|
2735
|
-
siteId = new FormControl('');
|
|
2736
|
-
/**站点下的版块 */
|
|
2737
|
-
SiteOfSectionList = [];
|
|
2738
2543
|
ngAfterContentInit() {
|
|
2739
2544
|
//Called after ngOnInit when the component's or directive's content has been initialized.
|
|
2740
2545
|
//Add 'implements AfterContentInit' to the class.
|
|
@@ -2788,12 +2593,12 @@ class EntryConfigComponent {
|
|
|
2788
2593
|
async siteIdChange() {
|
|
2789
2594
|
await this.getSiteOfSectionList();
|
|
2790
2595
|
}
|
|
2791
|
-
static
|
|
2792
|
-
static
|
|
2596
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryConfigComponent, deps: [{ token: i1$1.FormBuilder }, { token: SectionAdminService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2597
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EntryConfigComponent, selector: "cms-entry-config", inputs: { type: "type", Entity: "Entity", selected: "selected", culture: "culture" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<!-- <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Sites' | abpLocalization}}</label>\n <select class=\"form-select col-auto\" [(ngModel)]=\"siteId\" (change)=\"siteIdChange()\">\n <ng-container *ngFor=\"let item of siteList\">\n <option [value]=\"item.id\">{{item.displayName}}</option>\n </ng-container>\n </select>\n</div> -->\n<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n \n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Sections' | abpLocalization}}</label>\n <select class=\"form-select col-auto\" formControlName=\"Entry.SectionId\">\n <ng-container *ngFor=\"let item of SiteOfSectionList\">\n <option [value]=\"item.id\">{{item.displayName}}</option>\n </ng-container>\n </select>\n </div>\n\n <div class=\"mb-2\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" formControlName=\"Entry.Multiple\" id=\"Multiple\">\n <label class=\"form-check-label\" for=\"Multiple\">\n {{'Cms::Multiple' | abpLocalization}}\n </label>\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Placeholder' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"Entry.Placeholder\">\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>", styles: [":ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{background-color:transparent!important;border:none!important}:ng-deep .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-color:transparent!important;box-shadow:none!important}.selectclassliveview{overflow:hidden}::ng-deep .ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:transparent}::ng-deep .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-color:transparent;box-shadow:none}::ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{background:transparent;border:1px solid transparent}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
2793
2598
|
}
|
|
2794
2599
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryConfigComponent, decorators: [{
|
|
2795
2600
|
type: Component,
|
|
2796
|
-
args: [{ selector: 'cms-entry-config', template: "<div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Sites' | abpLocalization}}</label>\n <select class=\"form-select col-auto\" [(ngModel)]=\"siteId\" (change)=\"siteIdChange()\">\n <ng-container *ngFor=\"let item of siteList\">\n <option [value]=\"item.id\">{{item.displayName}}</option>\n </ng-container>\n </select>\n</div
|
|
2601
|
+
args: [{ selector: 'cms-entry-config', template: "<!-- <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Sites' | abpLocalization}}</label>\n <select class=\"form-select col-auto\" [(ngModel)]=\"siteId\" (change)=\"siteIdChange()\">\n <ng-container *ngFor=\"let item of siteList\">\n <option [value]=\"item.id\">{{item.displayName}}</option>\n </ng-container>\n </select>\n</div> -->\n<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n \n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Sections' | abpLocalization}}</label>\n <select class=\"form-select col-auto\" formControlName=\"Entry.SectionId\">\n <ng-container *ngFor=\"let item of SiteOfSectionList\">\n <option [value]=\"item.id\">{{item.displayName}}</option>\n </ng-container>\n </select>\n </div>\n\n <div class=\"mb-2\">\n <div class=\"form-check form-check-inline\">\n <input class=\"form-check-input\" type=\"checkbox\" formControlName=\"Entry.Multiple\" id=\"Multiple\">\n <label class=\"form-check-label\" for=\"Multiple\">\n {{'Cms::Multiple' | abpLocalization}}\n </label>\n </div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::Placeholder' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"Entry.Placeholder\">\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>", styles: [":ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{background-color:transparent!important;border:none!important}:ng-deep .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-color:transparent!important;box-shadow:none!important}.selectclassliveview{overflow:hidden}::ng-deep .ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:transparent}::ng-deep .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-color:transparent;box-shadow:none}::ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{background:transparent;border:1px solid transparent}\n"] }]
|
|
2797
2602
|
}], ctorParameters: function () { return [{ type: i1$1.FormBuilder }, { type: SectionAdminService }]; }, propDecorators: { type: [{
|
|
2798
2603
|
type: Input
|
|
2799
2604
|
}], Entity: [{
|
|
@@ -2810,49 +2615,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2810
2615
|
/* eslint-disable @angular-eslint/component-selector */
|
|
2811
2616
|
class EntryControlComponent {
|
|
2812
2617
|
constructor() {
|
|
2618
|
+
this.fb = inject(FormBuilder);
|
|
2619
|
+
this._EntryAdminService = inject(EntryAdminService);
|
|
2620
|
+
/**字段配置列表 */
|
|
2621
|
+
this._fields = '';
|
|
2622
|
+
/** */
|
|
2623
|
+
this.listOfOption = [];
|
|
2813
2624
|
}
|
|
2814
|
-
fb = inject(FormBuilder);
|
|
2815
|
-
_EntryAdminService = inject(EntryAdminService);
|
|
2816
|
-
/**表单实体 */
|
|
2817
|
-
_entity;
|
|
2818
2625
|
set entity(v) {
|
|
2819
2626
|
this._entity = v;
|
|
2820
2627
|
if (v)
|
|
2821
2628
|
this.dataLoaded();
|
|
2822
2629
|
}
|
|
2823
|
-
/**字段配置列表 */
|
|
2824
|
-
_fields = '';
|
|
2825
2630
|
set fields(v) {
|
|
2826
2631
|
this._fields = v;
|
|
2827
2632
|
if (v)
|
|
2828
2633
|
this.dataLoaded();
|
|
2829
2634
|
}
|
|
2830
|
-
/**父级字段名称,用于为表单设置控件赋值 */
|
|
2831
|
-
_parentFiledName;
|
|
2832
2635
|
set parentFiledName(v) {
|
|
2833
2636
|
this._parentFiledName = v;
|
|
2834
2637
|
if (v)
|
|
2835
2638
|
this.dataLoaded();
|
|
2836
2639
|
}
|
|
2837
|
-
/**父级字段名称,用于为表单设置控件赋值 */
|
|
2838
|
-
_selected;
|
|
2839
2640
|
set selected(v) {
|
|
2840
2641
|
this._selected = v || [];
|
|
2841
2642
|
if (v)
|
|
2842
2643
|
this.dataLoaded();
|
|
2843
2644
|
}
|
|
2844
|
-
/**语言 */
|
|
2845
|
-
_culture;
|
|
2846
2645
|
set culture(v) {
|
|
2847
2646
|
if (v) {
|
|
2848
2647
|
this._culture = v;
|
|
2849
2648
|
this.dataLoaded();
|
|
2850
2649
|
}
|
|
2851
2650
|
}
|
|
2852
|
-
submitclick;
|
|
2853
|
-
extraProperties;
|
|
2854
|
-
/** */
|
|
2855
|
-
listOfOption = [];
|
|
2856
2651
|
async dataLoaded() {
|
|
2857
2652
|
if (this._fields && this._entity && this._parentFiledName && this._culture) {
|
|
2858
2653
|
await this.AfterInit();
|
|
@@ -2892,8 +2687,8 @@ class EntryControlComponent {
|
|
|
2892
2687
|
async SelectChange(event) {
|
|
2893
2688
|
await this.getEntryAssignList(event);
|
|
2894
2689
|
}
|
|
2895
|
-
static
|
|
2896
|
-
static
|
|
2690
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2691
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EntryControlComponent, selector: "cms-entry-control", inputs: { entity: "entity", fields: "fields", parentFiledName: "parentFiledName", selected: "selected", culture: "culture" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form [formGroup]=\"_entity\">\r\n <div [formGroupName]=\"_parentFiledName\" class=\"entry-control-page\">\r\n <div class=\"mb-2\">\r\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\r\n <ng-container *ngIf=\"_fields.field.formConfiguration['Entry.Multiple']; else elseTemplate\">\r\n <div class=\"form-select\">\r\n <nz-select [nzMaxTagCount]=\"5\" (nzOnSearch)=\"SelectChange($event)\" nzShowSearch nzMode=\"multiple\" [nzPlaceHolder]=\"_fields.field.formConfiguration['Entry.Placeholder']\"\r\n formControlName=\"{{_fields.field.name}}\">\r\n <nz-option *ngFor=\"let item of listOfOption\" [nzLabel]=\"item.title\" [nzValue]=\"item.id\"></nz-option>\r\n </nz-select>\r\n </div>\r\n </ng-container>\r\n <ng-template #elseTemplate>\r\n <div class=\"form-select\">\r\n <nz-select nzShowSearch (nzOnSearch)=\"SelectChange($event)\" [nzMaxMultipleCount]=\"1\" nzMode=\"multiple\" [nzPlaceHolder]=\"_fields.field.formConfiguration['Entry.Placeholder']\"\r\n formControlName=\"{{_fields.field.name}}\">\r\n <nz-option *ngFor=\"let item of listOfOption\" [nzLabel]=\"item.title\" [nzValue]=\"item.id\"></nz-option>\r\n </nz-select>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\r\n </div>\r\n </div>\r\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\r\n</form>", styles: ["::ng-deep .entry-control-page .form-select{padding:0}::ng-deep .entry-control-page nz-select{width:100%}::ng-deep .entry-control-page nz-select .ant-select-selector{background:transparent!important;border:none!important;padding:.275rem 1.25rem!important;box-shadow:none!important;height:auto!important}::ng-deep .entry-control-page nz-select .anticon-search,::ng-deep .entry-control-page nz-select .anticon-down{display:none}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i4.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i4.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }] }); }
|
|
2897
2692
|
}
|
|
2898
2693
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryControlComponent, decorators: [{
|
|
2899
2694
|
type: Component,
|
|
@@ -2914,9 +2709,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2914
2709
|
}] } });
|
|
2915
2710
|
|
|
2916
2711
|
class MatrixConfig {
|
|
2917
|
-
// 矩阵类型
|
|
2918
|
-
'MatrixBlockTypes' = new FormArray([]);
|
|
2919
2712
|
constructor(data) {
|
|
2713
|
+
// 矩阵类型
|
|
2714
|
+
this['MatrixBlockTypes'] = new FormArray([]);
|
|
2920
2715
|
if (data) {
|
|
2921
2716
|
for (const key in data) {
|
|
2922
2717
|
if (data.hasOwnProperty(key)) {
|
|
@@ -2927,10 +2722,10 @@ class MatrixConfig {
|
|
|
2927
2722
|
}
|
|
2928
2723
|
}
|
|
2929
2724
|
class MatrixItemConfig {
|
|
2930
|
-
displayName = ['', [Validators.required]];
|
|
2931
|
-
/**字段名字 */
|
|
2932
|
-
name = ['', [Validators.required]];
|
|
2933
2725
|
constructor(data) {
|
|
2726
|
+
this.displayName = ['', [Validators.required]];
|
|
2727
|
+
/**字段名字 */
|
|
2728
|
+
this.name = ['', [Validators.required]];
|
|
2934
2729
|
if (data) {
|
|
2935
2730
|
for (const key in data) {
|
|
2936
2731
|
if (data.hasOwnProperty(key)) {
|
|
@@ -2941,17 +2736,17 @@ class MatrixItemConfig {
|
|
|
2941
2736
|
}
|
|
2942
2737
|
}
|
|
2943
2738
|
class matrixFieldInputBase {
|
|
2944
|
-
/**字段名称 Display name of this field */
|
|
2945
|
-
displayName = ['', [Validators.required]];
|
|
2946
|
-
/**字段唯一名称 Unique Name*/
|
|
2947
|
-
name = ['', [Validators.required]];
|
|
2948
|
-
/**描述 说明 */
|
|
2949
|
-
description = ['', []];
|
|
2950
|
-
/**FieldType字段类型 表单控件名称 */
|
|
2951
|
-
formControlName = ['TextEdit', [Validators.required]];
|
|
2952
|
-
/**动态表单配置 */
|
|
2953
|
-
formConfiguration = new FormGroup({});
|
|
2954
2739
|
constructor(data) {
|
|
2740
|
+
/**字段名称 Display name of this field */
|
|
2741
|
+
this.displayName = ['', [Validators.required]];
|
|
2742
|
+
/**字段唯一名称 Unique Name*/
|
|
2743
|
+
this.name = ['', [Validators.required]];
|
|
2744
|
+
/**描述 说明 */
|
|
2745
|
+
this.description = ['', []];
|
|
2746
|
+
/**FieldType字段类型 表单控件名称 */
|
|
2747
|
+
this.formControlName = ['TextEdit', [Validators.required]];
|
|
2748
|
+
/**动态表单配置 */
|
|
2749
|
+
this.formConfiguration = new FormGroup({});
|
|
2955
2750
|
if (data) {
|
|
2956
2751
|
for (const key in data) {
|
|
2957
2752
|
if (data.hasOwnProperty(key)) {
|
|
@@ -2964,37 +2759,35 @@ class matrixFieldInputBase {
|
|
|
2964
2759
|
|
|
2965
2760
|
/* eslint-disable @angular-eslint/component-selector */
|
|
2966
2761
|
class MatrixConfigComponent {
|
|
2967
|
-
fb;
|
|
2968
|
-
_CmsApiService;
|
|
2969
|
-
_FieldAbstractsService;
|
|
2970
2762
|
constructor(fb, _CmsApiService, _FieldAbstractsService) {
|
|
2971
2763
|
this.fb = fb;
|
|
2972
2764
|
this._CmsApiService = _CmsApiService;
|
|
2973
2765
|
this._FieldAbstractsService = _FieldAbstractsService;
|
|
2766
|
+
/**模态框-状态 */
|
|
2767
|
+
this.matrixModalOpen = false;
|
|
2768
|
+
/**模态框-是否正在编辑 */
|
|
2769
|
+
this.isMatrixModalEdit = false;
|
|
2770
|
+
/**模态框-用于确定模态的繁忙状态是否为真 */
|
|
2771
|
+
this.modalBusy = false;
|
|
2772
|
+
/**矩阵块-选择的下标 */
|
|
2773
|
+
this.selectMatrixBlockIndex = 0;
|
|
2774
|
+
/**矩阵块-选择的矩阵下字段的下标 */
|
|
2775
|
+
this.selectMatrixFieldIndex = 0;
|
|
2974
2776
|
}
|
|
2975
|
-
/**表单控件组 */
|
|
2976
|
-
_FieldControlGroup;
|
|
2977
|
-
/**表单控件类型 */
|
|
2978
|
-
_type;
|
|
2979
2777
|
set type(v) {
|
|
2980
2778
|
this._type = v;
|
|
2981
2779
|
this.dataLoaded();
|
|
2982
2780
|
}
|
|
2983
|
-
/**表单实体 */
|
|
2984
|
-
_Entity;
|
|
2985
2781
|
set Entity(v) {
|
|
2986
2782
|
this._Entity = v;
|
|
2987
2783
|
this.dataLoaded();
|
|
2988
2784
|
}
|
|
2989
|
-
/**选择的表单信息 */
|
|
2990
|
-
_selected;
|
|
2991
2785
|
set selected(v) {
|
|
2992
2786
|
if (v) {
|
|
2993
2787
|
this._selected = v;
|
|
2994
2788
|
this.dataLoaded();
|
|
2995
2789
|
}
|
|
2996
2790
|
}
|
|
2997
|
-
submitclick;
|
|
2998
2791
|
async dataLoaded() {
|
|
2999
2792
|
if (this._Entity && this._type) {
|
|
3000
2793
|
await this.AfterInit();
|
|
@@ -3031,20 +2824,6 @@ class MatrixConfigComponent {
|
|
|
3031
2824
|
get MatrixBlockTypes() {
|
|
3032
2825
|
return this.formConfiguration.controls['MatrixBlockTypes'];
|
|
3033
2826
|
}
|
|
3034
|
-
/**模态框-状态 */
|
|
3035
|
-
matrixModalOpen = false;
|
|
3036
|
-
/**模态框-是否正在编辑 */
|
|
3037
|
-
isMatrixModalEdit = false;
|
|
3038
|
-
/**模态框-用于确定模态的繁忙状态是否为真 */
|
|
3039
|
-
modalBusy = false;
|
|
3040
|
-
/**模态框-表单 */
|
|
3041
|
-
matrixModalForm;
|
|
3042
|
-
/**表单控件模板-用于在form外提交submit */
|
|
3043
|
-
matrixModalModalSubmit;
|
|
3044
|
-
/**矩阵块-选择的下标 */
|
|
3045
|
-
selectMatrixBlockIndex = 0;
|
|
3046
|
-
/**矩阵块-选择的矩阵下字段的下标 */
|
|
3047
|
-
selectMatrixFieldIndex = 0;
|
|
3048
2827
|
/**模态框-状态改变 */
|
|
3049
2828
|
matrixModalVisibleChange(event) {
|
|
3050
2829
|
if (!event) {
|
|
@@ -3161,8 +2940,8 @@ class MatrixConfigComponent {
|
|
|
3161
2940
|
return;
|
|
3162
2941
|
FieldnameInput.patchValue(pinyin);
|
|
3163
2942
|
}
|
|
3164
|
-
static
|
|
3165
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MatrixConfigComponent, selector: "df-matrix-config", inputs: { type: "type", Entity: "Entity", selected: "selected" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }, { propertyName: "matrixModalModalSubmit", first: true, predicate: ["matrixModalModalSubmit"], descendants: true }], ngImport: i0, template: "<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::::FormControl:Matrix' | abpLocalization}}</label>\n <div class=\"row\">\n <div class=\"col-md-3\">\n <div class=\"list-group\">\n <li class=\"list-group-item d-flex align-items-center justify-content-between\"\n aria-current=\"true\">\n {{'Cms::MatrixBlockType' | abpLocalization}}\n <button class=\"btn btn-light btn-sm p-0\" (click.stop)=\"addMatrixBlockType()\">\n <i class=\"fas fa-plus-circle p-1\"></i>\n </button>\n </li>\n <ng-container *ngFor=\"let item of MatrixBlockTypes.controls;let i =index\">\n <button type=\"button\" (click.stop)=\"selectMatrixBlockChange(i)\"\n class=\"list-group-item d-flex align-items-center justify-content-between list-group-item-action \"\n [class.active]=\"i===selectMatrixBlockIndex\">\n <div>\n <div>{{item.value.displayName}}</div>\n <div>{{item.value.name}}</div>\n </div>\n <div ngbDropdown class=\"d-inline-block\">\n <button type=\"button\" class=\"btn btn-light btn-sm\" id=\"dropdownBasic1\"\n style=\"z-index: 8;\" ngbDropdownToggle></button>\n <div ngbDropdownMenu aria-labelledby=\"dropdownBasic1\" style=\"z-index: 9;\">\n <button ngbDropdownItem\n (click.stop)=\"EditMatrixBlock(item.value)\">{{'AbpUi::Edit' | abpLocalization}}</button>\n <button ngbDropdownItem\n (click.stop)=\"DeleteMatrixBlock(i)\">{{'AbpUi::Delete' | abpLocalization}}</button>\n </div>\n </div>\n </button>\n </ng-container>\n </div>\n </div>\n <div class=\"col-md-3\">\n <div class=\"list-group\" *ngIf=\"MatrixBlockTypes?.controls.length>0\">\n <li class=\"list-group-item d-flex align-items-center justify-content-between\"\n aria-current=\"true\">\n {{'Cms::Fields' | abpLocalization}}\n <button class=\"btn btn-light btn-sm p-0\" (click.stop)=\"addMatrixField()\">\n <i class=\"fas fa-plus-circle p-1\"></i>\n </button>\n </li>\n <ng-container *ngFor=\"let item of MatrixBlockTypes.controls;let i =index\">\n <ng-container *ngIf=\"i === selectMatrixBlockIndex\">\n <ng-container *ngFor=\"let el of item.controls['fields'].controls;let fi =index\">\n <button type=\"button\" (click.stop)=\"selectMatrixFieldChange(i,fi)\"\n class=\"list-group-item d-flex align-items-center justify-content-between list-group-item-action \"\n [class.active]=\"fi===selectMatrixFieldIndex\">\n <div>\n <div>{{el.value.displayName}}</div>\n <div>{{el.value.name}}</div>\n </div>\n <button type=\"button\"\n (click.stop)=\"deleteMatrixField(item.controls['fields'],fi)\"\n class=\"btn btn-sm btn-li\">{{'AbpUi::Delete' | abpLocalization}}</button>\n </button>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <div class=\"col-md-6\" formArrayName=\"MatrixBlockTypes\">\n <ng-container *ngFor=\"let item of MatrixBlockTypes.controls;let i =index\">\n <div [formGroupName]=\"i\" [hidden]=\"i !== selectMatrixBlockIndex\">\n <div formArrayName=\"fields\">\n <ng-container *ngFor=\"let itemf of item.controls['fields'].controls;let fi =index\">\n <div [formGroupName]=\"fi\" [hidden]=\"fi !== selectMatrixFieldIndex\">\n <div class=\"mb-2\">\n <label class=\"form-label\"\n for=\"displayName\">{{'Cms::DisplayName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\"\n (blur)=\"MatrixFieldDisplayNameInputBlur($event)\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\"\n for=\"name\">{{'DigniteAbpForms::FieldName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"name\">\n <div class=\"form-text\">\n {{'DigniteAbpForms::FieldNameHelpText' | abpLocalization}}</div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\"\n for=\"description\">{{'Cms::Description' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"description\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\"\n for=\"formControlName\">{{'Cms::FieldType' | abpLocalization}}</label>\n <select class=\"form-select\" formControlName=\"formControlName\" (change)=\"setConfigComponent()\">\n <ng-container *ngFor=\"let itemC of _FieldControlGroup;let i =index\">\n <option [value]=\"itemC.name\">{{itemC.displayName}}</option>\n </ng-container>\n </select>\n </div>\n <!-- {{itemf.value.formControlName}}----{{item.value|json}} -->\n <ng-container *ngIf=\"itemf.value.formControlName&&itemf\">\n <df-dynamic [type]=\"itemf.value.formControlName\" [entity]=\"itemf\"\n [selected]=\"_selected?_selected['formConfiguration']['MatrixBlockTypes'][i]['fields'][fi]:''\"></df-dynamic>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </div>\n\n </div>\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>\n\n\n\n<abp-modal [(visible)]=\"matrixModalOpen\" [busy]=\"modalBusy\" (visibleChange)=\"matrixModalVisibleChange($event)\" >\n <ng-template #abpHeader>\n <h3>{{isMatrixEdit?('AbpUi::Edit' | abpLocalization):('Cms::New' | abpLocalization)}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <ng-container *ngIf=\"matrixModalForm; else loaderRef\">\n <form class=\"sites-modal-form\" #myForm=\"ngForm\" [formGroup]=\"matrixModalForm\"\n (ngSubmit)=\"createOrEditSave()\">\n <button type=\"submit\" #matrixModalModalSubmit style=\"display: none\"></button>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"displayName\">{{'Cms::DisplayName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\"\n (blur)=\"displayNameInputBlur($event)\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"name\">{{'Cms::Name' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"name\">\n </div>\n </form>\n </ng-container>\n </ng-template>\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\"\n (click)=\"matrixModalModalSubmit.nativeElement.click()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }, { kind: "directive", type: i1.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "directive", type: i10.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i10.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i10.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i10.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i8$1.DynamicComponent, selector: "df-dynamic", inputs: ["selected", "type", "entity", "culture", "parentFiledName", "fields"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
|
|
2943
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MatrixConfigComponent, deps: [{ token: i1$1.FormBuilder }, { token: CmsApiService }, { token: FieldAbstractsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2944
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MatrixConfigComponent, selector: "df-matrix-config", inputs: { type: "type", Entity: "Entity", selected: "selected" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }, { propertyName: "matrixModalModalSubmit", first: true, predicate: ["matrixModalModalSubmit"], descendants: true }], ngImport: i0, template: "<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'Cms::::FormControl:Matrix' | abpLocalization}}</label>\n <div class=\"row\">\n <div class=\"col-md-3\">\n <div class=\"list-group\">\n <li class=\"list-group-item d-flex align-items-center justify-content-between\"\n aria-current=\"true\">\n {{'Cms::MatrixBlockType' | abpLocalization}}\n <button class=\"btn btn-light btn-sm p-0\" (click.stop)=\"addMatrixBlockType()\">\n <i class=\"fas fa-plus-circle p-1\"></i>\n </button>\n </li>\n <ng-container *ngFor=\"let item of MatrixBlockTypes.controls;let i =index\">\n <button type=\"button\" (click.stop)=\"selectMatrixBlockChange(i)\"\n class=\"list-group-item d-flex align-items-center justify-content-between list-group-item-action \"\n [class.active]=\"i===selectMatrixBlockIndex\">\n <div>\n <div>{{item.value.displayName}}</div>\n <div>{{item.value.name}}</div>\n </div>\n <div ngbDropdown class=\"d-inline-block\">\n <button type=\"button\" class=\"btn btn-light btn-sm\" id=\"dropdownBasic1\"\n style=\"z-index: 8;\" ngbDropdownToggle></button>\n <div ngbDropdownMenu aria-labelledby=\"dropdownBasic1\" style=\"z-index: 9;\">\n <button ngbDropdownItem\n (click.stop)=\"EditMatrixBlock(item.value)\">{{'AbpUi::Edit' | abpLocalization}}</button>\n <button ngbDropdownItem\n (click.stop)=\"DeleteMatrixBlock(i)\">{{'AbpUi::Delete' | abpLocalization}}</button>\n </div>\n </div>\n </button>\n </ng-container>\n </div>\n </div>\n <div class=\"col-md-3\">\n <div class=\"list-group\" *ngIf=\"MatrixBlockTypes?.controls.length>0\">\n <li class=\"list-group-item d-flex align-items-center justify-content-between\"\n aria-current=\"true\">\n {{'Cms::Fields' | abpLocalization}}\n <button class=\"btn btn-light btn-sm p-0\" (click.stop)=\"addMatrixField()\">\n <i class=\"fas fa-plus-circle p-1\"></i>\n </button>\n </li>\n <ng-container *ngFor=\"let item of MatrixBlockTypes.controls;let i =index\">\n <ng-container *ngIf=\"i === selectMatrixBlockIndex\">\n <ng-container *ngFor=\"let el of item.controls['fields'].controls;let fi =index\">\n <button type=\"button\" (click.stop)=\"selectMatrixFieldChange(i,fi)\"\n class=\"list-group-item d-flex align-items-center justify-content-between list-group-item-action \"\n [class.active]=\"fi===selectMatrixFieldIndex\">\n <div>\n <div>{{el.value.displayName}}</div>\n <div>{{el.value.name}}</div>\n </div>\n <button type=\"button\"\n (click.stop)=\"deleteMatrixField(item.controls['fields'],fi)\"\n class=\"btn btn-sm btn-li\">{{'AbpUi::Delete' | abpLocalization}}</button>\n </button>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <div class=\"col-md-6\" formArrayName=\"MatrixBlockTypes\">\n <ng-container *ngFor=\"let item of MatrixBlockTypes.controls;let i =index\">\n <div [formGroupName]=\"i\" [hidden]=\"i !== selectMatrixBlockIndex\">\n <div formArrayName=\"fields\">\n <ng-container *ngFor=\"let itemf of item.controls['fields'].controls;let fi =index\">\n <div [formGroupName]=\"fi\" [hidden]=\"fi !== selectMatrixFieldIndex\">\n <div class=\"mb-2\">\n <label class=\"form-label\"\n for=\"displayName\">{{'Cms::DisplayName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\"\n (blur)=\"MatrixFieldDisplayNameInputBlur($event)\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\"\n for=\"name\">{{'DigniteAbpForms::FieldName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"name\">\n <div class=\"form-text\">\n {{'DigniteAbpForms::FieldNameHelpText' | abpLocalization}}</div>\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\"\n for=\"description\">{{'Cms::Description' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"description\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\"\n for=\"formControlName\">{{'Cms::FieldType' | abpLocalization}}</label>\n <select class=\"form-select\" formControlName=\"formControlName\" (change)=\"setConfigComponent()\">\n <ng-container *ngFor=\"let itemC of _FieldControlGroup;let i =index\">\n <option [value]=\"itemC.name\">{{itemC.displayName}}</option>\n </ng-container>\n </select>\n </div>\n <!-- {{itemf.value.formControlName}}----{{item.value|json}} -->\n <ng-container *ngIf=\"itemf.value.formControlName&&itemf\">\n <df-dynamic [type]=\"itemf.value.formControlName\" [entity]=\"itemf\"\n [selected]=\"_selected?_selected['formConfiguration']['MatrixBlockTypes'][i]['fields'][fi]:''\"></df-dynamic>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </div>\n\n </div>\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>\n\n\n\n<abp-modal [(visible)]=\"matrixModalOpen\" [busy]=\"modalBusy\" (visibleChange)=\"matrixModalVisibleChange($event)\" >\n <ng-template #abpHeader>\n <h3>{{isMatrixEdit?('AbpUi::Edit' | abpLocalization):('Cms::New' | abpLocalization)}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <ng-container *ngIf=\"matrixModalForm; else loaderRef\">\n <form class=\"sites-modal-form\" #myForm=\"ngForm\" [formGroup]=\"matrixModalForm\"\n (ngSubmit)=\"createOrEditSave()\">\n <button type=\"submit\" #matrixModalModalSubmit style=\"display: none\"></button>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"displayName\">{{'Cms::DisplayName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"displayName\"\n (blur)=\"displayNameInputBlur($event)\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\" for=\"name\">{{'Cms::Name' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"name\">\n </div>\n </form>\n </ng-container>\n </ng-template>\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\"\n (click)=\"matrixModalModalSubmit.nativeElement.click()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }, { kind: "directive", type: i1.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "directive", type: i10.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i10.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i10.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i10.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i8$1.DynamicComponent, selector: "df-dynamic", inputs: ["selected", "type", "entity", "culture", "parentFiledName", "fields"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
3166
2945
|
}
|
|
3167
2946
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MatrixConfigComponent, decorators: [{
|
|
3168
2947
|
type: Component,
|
|
@@ -3183,44 +2962,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3183
2962
|
|
|
3184
2963
|
/* eslint-disable @angular-eslint/component-selector */
|
|
3185
2964
|
class MatrixControlComponent {
|
|
3186
|
-
fb;
|
|
3187
2965
|
constructor(fb) {
|
|
3188
2966
|
this.fb = fb;
|
|
2967
|
+
/**字段配置列表 */
|
|
2968
|
+
this._fields = '';
|
|
2969
|
+
/**矩阵列表 */
|
|
2970
|
+
this.MatrixBlockTypesList = [];
|
|
3189
2971
|
}
|
|
3190
|
-
/**表单实体 */
|
|
3191
|
-
_entity;
|
|
3192
2972
|
set entity(v) {
|
|
3193
2973
|
this._entity = v;
|
|
3194
2974
|
this.dataLoaded();
|
|
3195
2975
|
}
|
|
3196
|
-
/**字段配置列表 */
|
|
3197
|
-
_fields = '';
|
|
3198
2976
|
set fields(v) {
|
|
3199
2977
|
this._fields = v;
|
|
3200
2978
|
this.dataLoaded();
|
|
3201
2979
|
}
|
|
3202
|
-
/**父级字段名称,用于为表单设置控件赋值 */
|
|
3203
|
-
_parentFiledName;
|
|
3204
2980
|
set parentFiledName(v) {
|
|
3205
2981
|
this._parentFiledName = v;
|
|
3206
2982
|
this.dataLoaded();
|
|
3207
2983
|
}
|
|
3208
|
-
/**父级字段名称,用于为表单设置控件赋值 */
|
|
3209
|
-
_selected;
|
|
3210
2984
|
set selected(v) {
|
|
3211
2985
|
this._selected = v;
|
|
3212
2986
|
if (v) {
|
|
3213
2987
|
this.dataLoaded();
|
|
3214
2988
|
}
|
|
3215
2989
|
}
|
|
3216
|
-
/**语言 */
|
|
3217
|
-
_culture;
|
|
3218
2990
|
set culture(v) {
|
|
3219
2991
|
this._culture = v;
|
|
3220
2992
|
}
|
|
3221
|
-
submitclick;
|
|
3222
|
-
/** 获取父级字段代表的表单组*/
|
|
3223
|
-
extraProperties;
|
|
3224
2993
|
/**数据加载完成 */
|
|
3225
2994
|
async dataLoaded() {
|
|
3226
2995
|
if (this._fields && this._entity && this._parentFiledName) {
|
|
@@ -3231,9 +3000,6 @@ class MatrixControlComponent {
|
|
|
3231
3000
|
this.fieldNameControl.patchValue(this._selected);
|
|
3232
3001
|
}
|
|
3233
3002
|
}
|
|
3234
|
-
formConfiguration;
|
|
3235
|
-
/**获取表格字段代表的控件 */
|
|
3236
|
-
fieldNameControl;
|
|
3237
3003
|
AfterInit() {
|
|
3238
3004
|
return new Promise((resolve, rejects) => {
|
|
3239
3005
|
let formConfiguration = this._fields.field.formConfiguration;
|
|
@@ -3250,8 +3016,6 @@ class MatrixControlComponent {
|
|
|
3250
3016
|
resolve(true);
|
|
3251
3017
|
});
|
|
3252
3018
|
}
|
|
3253
|
-
/**矩阵列表 */
|
|
3254
|
-
MatrixBlockTypesList = [];
|
|
3255
3019
|
/**增加指定矩阵控件项 */
|
|
3256
3020
|
addMatrixControl(item) {
|
|
3257
3021
|
this.fieldNameControl.push(this.fb.group({
|
|
@@ -3266,8 +3030,8 @@ class MatrixControlComponent {
|
|
|
3266
3030
|
deleteMatrixControl(index) {
|
|
3267
3031
|
this.fieldNameControl.removeAt(index);
|
|
3268
3032
|
}
|
|
3269
|
-
static
|
|
3270
|
-
static
|
|
3033
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MatrixControlComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3034
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MatrixControlComponent, selector: "df-matrix-control", inputs: { entity: "entity", fields: "fields", parentFiledName: "parentFiledName", selected: "selected", culture: "culture" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form [formGroup]=\"_entity\">\n <div formGroupName=\"extraProperties\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n <div [formArrayName]=\"_fields.field.name\">\n <ng-container *ngFor=\"let item of fieldNameControl.controls;let i=index\">\n <div class=\"card mb-3 border \" [formGroupName]=\"i\">\n <div class=\"card-header d-flex align-items-center justify-content-between border-bottom pt-1\">\n <div>{{item.value.displayName}}</div>\n <button class=\"btn btn-sm btn-light p-0\" (click.stop)=\"deleteMatrixControl(i)\"><i\n class=\"fas fa-trash p-2\"></i></button>\n </div>\n <div class=\"card-body\">\n <ng-container *ngFor=\"let el of MatrixBlockTypesList;let il =index\">\n <ng-container *ngIf=\"el.name===item.value.matrixBlockTypeName\">\n <ng-container *ngFor=\"let elf of el.fields; let fi=index\">\n <ng-container *ngIf=\"item&&elf&&_culture\">\n <df-dynamic [entity]=\"item\"\n [fields]=\"{ field: elf,displayName:elf.displayName }\"\n [selected]=\"_selected ? _selected[i]?_selected[i][_parentFiledName][elf.name]:'': ''\"\n [parentFiledName]=\"'extraProperties'\" [culture]=\"_culture\"></df-dynamic>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </div>\n <div>\n <div class=\"btn-group\" role=\"group\" aria-label=\"Basic example\">\n <ng-container *ngFor=\"let item of MatrixBlockTypesList;let i =index\">\n <button type=\"button\" class=\"btn btn-primary btn-sm\" (click.stop)=\"addMatrixControl(item)\"><i\n class=\"fas fa-plus me-1\"></i>{{item.displayName}}</button>\n </ng-container>\n </div>\n </div>\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n </div>\n <button type=\"submit\" style=\"display: none\" #submitclick></button>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i1.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "component", type: i8$1.DynamicComponent, selector: "df-dynamic", inputs: ["selected", "type", "entity", "culture", "parentFiledName", "fields"] }] }); }
|
|
3271
3035
|
}
|
|
3272
3036
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MatrixControlComponent, decorators: [{
|
|
3273
3037
|
type: Component,
|
|
@@ -3288,9 +3052,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3288
3052
|
}] } });
|
|
3289
3053
|
|
|
3290
3054
|
class TableConfig {
|
|
3291
|
-
// 选项
|
|
3292
|
-
TableColumns = new FormArray([]);
|
|
3293
3055
|
constructor(data) {
|
|
3056
|
+
// 选项
|
|
3057
|
+
this.TableColumns = new FormArray([]);
|
|
3294
3058
|
if (data) {
|
|
3295
3059
|
for (const key in data) {
|
|
3296
3060
|
if (data.hasOwnProperty(key)) {
|
|
@@ -3301,19 +3065,19 @@ class TableConfig {
|
|
|
3301
3065
|
}
|
|
3302
3066
|
}
|
|
3303
3067
|
class TableFormControl {
|
|
3304
|
-
/**列标题 */
|
|
3305
|
-
displayName = ['', [Validators.required]];
|
|
3306
|
-
/**空间配置 */
|
|
3307
|
-
formConfiguration = new FormGroup({});
|
|
3308
|
-
/**列名 */
|
|
3309
|
-
name = ['', [Validators.required]];
|
|
3310
|
-
//控件标识
|
|
3311
|
-
formControlName = ['', [Validators.required]];
|
|
3312
|
-
/**是否必填 */
|
|
3313
|
-
required = [false];
|
|
3314
|
-
/**描述 */
|
|
3315
|
-
description = [''];
|
|
3316
3068
|
constructor(data) {
|
|
3069
|
+
/**列标题 */
|
|
3070
|
+
this.displayName = ['', [Validators.required]];
|
|
3071
|
+
/**空间配置 */
|
|
3072
|
+
this.formConfiguration = new FormGroup({});
|
|
3073
|
+
/**列名 */
|
|
3074
|
+
this.name = ['', [Validators.required]];
|
|
3075
|
+
//控件标识
|
|
3076
|
+
this.formControlName = ['', [Validators.required]];
|
|
3077
|
+
/**是否必填 */
|
|
3078
|
+
this.required = [false];
|
|
3079
|
+
/**描述 */
|
|
3080
|
+
this.description = [''];
|
|
3317
3081
|
if (data) {
|
|
3318
3082
|
for (const key in data) {
|
|
3319
3083
|
if (data.hasOwnProperty(key)) {
|
|
@@ -3326,32 +3090,25 @@ class TableFormControl {
|
|
|
3326
3090
|
|
|
3327
3091
|
/* eslint-disable @angular-eslint/component-selector */
|
|
3328
3092
|
class TableConfigComponent {
|
|
3329
|
-
fb;
|
|
3330
|
-
_CmsApiService;
|
|
3331
|
-
_FieldAbstractsService;
|
|
3332
3093
|
constructor(fb, _CmsApiService, _FieldAbstractsService) {
|
|
3333
3094
|
this.fb = fb;
|
|
3334
3095
|
this._CmsApiService = _CmsApiService;
|
|
3335
3096
|
this._FieldAbstractsService = _FieldAbstractsService;
|
|
3097
|
+
/**创建站点模态框状态 */
|
|
3098
|
+
this.tableSelectOpen = false;
|
|
3099
|
+
/**用于确定模态的繁忙状态是否为真 */
|
|
3100
|
+
this.modalBusy = false;
|
|
3336
3101
|
}
|
|
3337
|
-
/**表单实体 */
|
|
3338
|
-
_Entity;
|
|
3339
3102
|
set Entity(v) {
|
|
3340
3103
|
this._Entity = v;
|
|
3341
3104
|
this.dataLoaded();
|
|
3342
3105
|
}
|
|
3343
|
-
/**选择的表单信息 */
|
|
3344
|
-
_selected;
|
|
3345
3106
|
set selected(v) {
|
|
3346
3107
|
if (v) {
|
|
3347
3108
|
this._selected = v;
|
|
3348
3109
|
this.dataLoaded();
|
|
3349
3110
|
}
|
|
3350
3111
|
}
|
|
3351
|
-
/**表单控件组 */
|
|
3352
|
-
_fieldControlGroup;
|
|
3353
|
-
/**表单控件类型 */
|
|
3354
|
-
_type;
|
|
3355
3112
|
set type(v) {
|
|
3356
3113
|
this._type = v;
|
|
3357
3114
|
this.dataLoaded();
|
|
@@ -3362,7 +3119,6 @@ class TableConfigComponent {
|
|
|
3362
3119
|
get TableColumns() {
|
|
3363
3120
|
return this.formConfiguration.controls['TableColumns'];
|
|
3364
3121
|
}
|
|
3365
|
-
submitclick;
|
|
3366
3122
|
async dataLoaded() {
|
|
3367
3123
|
if (this._Entity && this._type) {
|
|
3368
3124
|
await this.AfterInit();
|
|
@@ -3396,7 +3152,6 @@ class TableConfigComponent {
|
|
|
3396
3152
|
resolve(true);
|
|
3397
3153
|
});
|
|
3398
3154
|
}
|
|
3399
|
-
itemForm;
|
|
3400
3155
|
/**选择表格的表单控件 */
|
|
3401
3156
|
selectTableControl(event, i, item) {
|
|
3402
3157
|
this.CurrentSelectionTableControlName = event.target.value;
|
|
@@ -3405,19 +3160,6 @@ class TableConfigComponent {
|
|
|
3405
3160
|
this.TableColumnsIndex = i;
|
|
3406
3161
|
this.itemForm = item;
|
|
3407
3162
|
}
|
|
3408
|
-
CurrentSelectionTableControlName;
|
|
3409
|
-
/**正在创建或编辑的表格项下标 */
|
|
3410
|
-
TableColumnsIndex;
|
|
3411
|
-
/**创建站点模态框状态 */
|
|
3412
|
-
tableSelectOpen = false;
|
|
3413
|
-
/**用于确定模态的繁忙状态是否为真 */
|
|
3414
|
-
modalBusy = false;
|
|
3415
|
-
/**创建站点表单 */
|
|
3416
|
-
tableSelectForm;
|
|
3417
|
-
/**表格已选择数据 */
|
|
3418
|
-
_tableSelected;
|
|
3419
|
-
/**表单控件模板-动态赋值表单控件 */
|
|
3420
|
-
tableSelectModalSubmit;
|
|
3421
3163
|
/**创建站点模态框状态改变 */
|
|
3422
3164
|
tableSelectVisibleChange(event) {
|
|
3423
3165
|
if (!event) {
|
|
@@ -3467,8 +3209,8 @@ class TableConfigComponent {
|
|
|
3467
3209
|
return;
|
|
3468
3210
|
nameInput.patchValue(pinyin);
|
|
3469
3211
|
}
|
|
3470
|
-
static
|
|
3471
|
-
static
|
|
3212
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableConfigComponent, deps: [{ token: i1$1.FormBuilder }, { token: CmsApiService }, { token: FieldAbstractsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3213
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableConfigComponent, selector: "df-table-config", inputs: { Entity: "Entity", selected: "selected", type: "type" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }, { propertyName: "tableSelectModalSubmit", first: true, predicate: ["tableSelectModalSubmit"], descendants: true }], ngImport: i0, template: "<form [formGroup]=\"_Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpForms::SelectListItem' | abpLocalization}}</label>\n <table class=\"table\">\n <thead>\n <tr>\n <th scope=\"col\">{{'Cms::TableColumnDisplayName' | abpLocalization}}</th>\n <th scope=\"col\">{{'Cms::TableColumnName' | abpLocalization}}</th>\n <th scope=\"col\">{{'Cms::TableColumnForm' | abpLocalization}}</th>\n <th scope=\"col\" class=\"flex-end\">\n <button class=\"btn btn-light btn-sm\" (click.stop)=\"addTableColumns()\">\n <i class=\"fas fa-plus-circle\"></i>\n </button>\n </th>\n </tr>\n </thead>\n <tbody formArrayName=\"TableColumns\">\n <ng-container *ngFor=\"let item of TableColumns.controls;let i=index\">\n <tr [formGroupName]=\"i\">\n <td><input type=\"text\" class=\"form-control\" formControlName=\"displayName\" (blur)=\"disPlayNameInputBlur($event,item)\" ></td>\n <td><input type=\"text\" class=\"form-control\" formControlName=\"name\"></td>\n <td>\n <select class=\"form-select\" formControlName=\"formControlName\"\n (change)=\"selectTableControl($event,i,item)\">\n <option value=\"\">SelectFrom</option>\n <ng-container *ngFor=\"let item_f of _fieldControlGroup;let i_f =index\">\n <option [value]=\"item_f.name\">{{item_f.displayName}}</option>\n </ng-container>\n </select>\n </td>\n <td scope=\"row\">\n <div class=\"flex-start\">\n <button class=\"btn btn-light btn-sm \" (click.stop)=\"EditSitesBtn(item,i)\">\n <i class=\"fas fa-edit\"></i>\n </button>\n <button class=\"btn btn-light btn-sm ms-1\" (click.stop)=\"deleteTableColumns(i)\">\n <i class=\"fas fa-minus\"></i>\n </button>\n <button class=\"btn btn-light btn-sm ms-1\" *ngIf=\"i!==0\"\n (click.stop)=\"TableArrowUpOrDown('up',i)\">\n <i class=\"fas fa-arrow-up\"></i>\n </button>\n <button class=\"btn btn-light btn-sm ms-1\" *ngIf=\"i!==TableColumns.controls.length-1\"\n (click.stop)=\"TableArrowUpOrDown('down',i)\">\n <i class=\"fas fa-arrow-down\"></i>\n </button>\n </div>\n </td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>\n\n\n<abp-modal [(visible)]=\"tableSelectOpen\" [busy]=\"modalBusy\" (visibleChange)=\"tableSelectVisibleChange($event)\" [options]=\"{ size: CurrentSelectionTableControlName=='Matrix'?'xl':'' ,scrollable:false }\">\n <ng-template #abpHeader>\n <h3>{{_tableSelected?('AbpUi::Edit' | abpLocalization):('Cms::New' | abpLocalization)}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <ng-container *ngIf=\"tableSelectForm; else loaderRef\">\n <form class=\"sites-modal-form\" #myForm=\"ngForm\" [formGroup]=\"tableSelectForm\"\n (ngSubmit)=\"createOrEditSave()\">\n <button type=\"submit\" #tableSelectModalSubmit style=\"display: none\"></button>\n <ng-container *ngIf=\"CurrentSelectionTableControlName&&tableSelectForm\">\n <df-dynamic [type]=\"CurrentSelectionTableControlName\" [entity]=\"tableSelectForm\"\n [selected]=\"_tableSelected\" [formGroup]=\"tableSelectForm\"></df-dynamic>\n </ng-container>\n </form>\n </ng-container>\n </ng-template>\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\"\n (click)=\"tableSelectModalSubmit.nativeElement.click()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>", styles: [".flex-end{display:flex;align-items:center;justify-content:flex-end}.flex-start{display:flex;align-items:center;justify-content:flex-start}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }, { kind: "directive", type: i1.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "component", type: i8$1.DynamicComponent, selector: "df-dynamic", inputs: ["selected", "type", "entity", "culture", "parentFiledName", "fields"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
3472
3214
|
}
|
|
3473
3215
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableConfigComponent, decorators: [{
|
|
3474
3216
|
type: Component,
|
|
@@ -3489,42 +3231,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3489
3231
|
|
|
3490
3232
|
class TableControlComponent {
|
|
3491
3233
|
constructor() {
|
|
3234
|
+
this.fb = inject(FormBuilder);
|
|
3235
|
+
/**字段配置列表 */
|
|
3236
|
+
this._fields = '';
|
|
3492
3237
|
}
|
|
3493
|
-
fb = inject(FormBuilder);
|
|
3494
|
-
/**表单实体 */
|
|
3495
|
-
_entity;
|
|
3496
3238
|
set entity(v) {
|
|
3497
3239
|
this._entity = v;
|
|
3498
3240
|
this.dataLoaded();
|
|
3499
3241
|
}
|
|
3500
|
-
/**字段配置列表 */
|
|
3501
|
-
_fields = '';
|
|
3502
3242
|
set fields(v) {
|
|
3503
3243
|
this._fields = v;
|
|
3504
3244
|
this.dataLoaded();
|
|
3505
3245
|
}
|
|
3506
|
-
/**父级字段名称,用于为表单设置控件赋值 */
|
|
3507
|
-
_parentFiledName;
|
|
3508
3246
|
set parentFiledName(v) {
|
|
3509
3247
|
this._parentFiledName = v;
|
|
3510
3248
|
this.dataLoaded();
|
|
3511
3249
|
}
|
|
3512
|
-
/**父级字段名称,用于为表单设置控件赋值 */
|
|
3513
|
-
_selected;
|
|
3514
3250
|
set selected(v) {
|
|
3515
3251
|
this._selected = v;
|
|
3516
3252
|
if (v) {
|
|
3517
3253
|
this.dataLoaded();
|
|
3518
3254
|
}
|
|
3519
3255
|
}
|
|
3520
|
-
/**语言 */
|
|
3521
|
-
_culture;
|
|
3522
3256
|
set culture(v) {
|
|
3523
3257
|
this._culture = v;
|
|
3524
3258
|
}
|
|
3525
|
-
submitclick;
|
|
3526
|
-
/** 获取父级字段代表的表单组*/
|
|
3527
|
-
extraProperties;
|
|
3528
3259
|
/**数据加载完成 */
|
|
3529
3260
|
async dataLoaded() {
|
|
3530
3261
|
if (this._fields && this._entity && this._parentFiledName) {
|
|
@@ -3533,9 +3264,6 @@ class TableControlComponent {
|
|
|
3533
3264
|
this.submitclick.nativeElement.click();
|
|
3534
3265
|
}
|
|
3535
3266
|
}
|
|
3536
|
-
formConfiguration;
|
|
3537
|
-
/**获取表格字段代表的控件 */
|
|
3538
|
-
fieldNameControl;
|
|
3539
3267
|
AfterInit() {
|
|
3540
3268
|
return new Promise((resolve, rejects) => {
|
|
3541
3269
|
let ValidatorsArray = [];
|
|
@@ -3578,8 +3306,8 @@ class TableControlComponent {
|
|
|
3578
3306
|
this.fieldNameControl.insert(lastindex, controlAt);
|
|
3579
3307
|
this._selected = this.fieldNameControl.value;
|
|
3580
3308
|
}
|
|
3581
|
-
static
|
|
3582
|
-
static
|
|
3309
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3310
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableControlComponent, selector: "df-table-control", inputs: { entity: "entity", fields: "fields", parentFiledName: "parentFiledName", selected: "selected", culture: "culture" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form [formGroup]=\"_entity\">\n <div formGroupName=\"extraProperties\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n <table class=\"table\">\n <thead>\n <tr>\n <ng-container *ngFor=\"let item of formConfiguration.TableColumns\">\n <th scope=\"col\">{{ item.displayName }}</th>\n </ng-container>\n <th scope=\"col\" class=\"flex-end\">\n <button class=\"btn btn-light btn-sm\" (click.stop)=\"addTableControlItem()\">\n <i class=\"fas fa-plus-circle\"></i>\n </button>\n </th>\n </tr>\n </thead>\n <tbody [formArrayName]=\"_fields.field.name\">\n <ng-container *ngFor=\"let item of fieldNameControl.controls; let i = index\">\n <tr>\n <ng-container *ngFor=\"let el of formConfiguration.TableColumns\">\n <td>\n <ng-container *ngIf=\"item&&el\">\n <df-dynamic [entity]=\"item\" [fields]=\"{ field: el }\"\n [selected]=\"_selected[i]?.extraProperties[''+el.name+'']\"\n [parentFiledName]=\"'extraProperties'\" [culture]=\"_culture\"></df-dynamic>\n </ng-container>\n </td>\n </ng-container>\n <td scope=\"row\" class=\"\">\n <div class=\"flex-end mb-2\">\n <button class=\"btn btn-light btn-sm ms-1\" (click.stop)=\"minusTableControlItem(i)\">\n <i class=\"fas fa-minus\"></i>\n </button>\n <button class=\"btn btn-light btn-sm ms-1\" (click.stop)=\"TableArrowUpOrDown('up',i)\"\n *ngIf=\"i!==0\">\n <i class=\"fas fa-arrow-up\"></i>\n </button>\n <button class=\"btn btn-light btn-sm ms-1\"\n (click.stop)=\"TableArrowUpOrDown('down',i)\"\n *ngIf=\"i!==fieldNameControl.controls.length-1\">\n <i class=\"fas fa-arrow-down\"></i>\n </button>\n </div>\n </td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n </div>\n <button type=\"submit\" style=\"display: none\" #submitclick></button>\n</form>", styles: [".flex-end{display:flex;align-items:center;justify-content:flex-end}.flex-start{display:flex;align-items:center;justify-content:flex-start}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i1.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "directive", type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "component", type: i8$1.DynamicComponent, selector: "df-dynamic", inputs: ["selected", "type", "entity", "culture", "parentFiledName", "fields"] }] }); }
|
|
3583
3311
|
}
|
|
3584
3312
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableControlComponent, decorators: [{
|
|
3585
3313
|
type: Component,
|
|
@@ -3869,6 +3597,7 @@ a {
|
|
|
3869
3597
|
:root select{
|
|
3870
3598
|
cursor: pointer; /* this will show the pointer when hovering */
|
|
3871
3599
|
}
|
|
3600
|
+
.cdk-global-overlay-wrapper, .cdk-overlay-container {pointer-events: none;top: 0;left: 0;height: 100%;width: 100% }.cdk-overlay-container {position: fixed;z-index: 1000 }.cdk-overlay-container:empty {display: none }.cdk-global-overlay-wrapper, .cdk-overlay-connected-position-bounding-box, .cdk-overlay-pane {position: absolute;z-index: 1000;display: flex }.cdk-overlay-pane {pointer-events: auto;box-sizing: border-box;max-width: 100%;max-height: 100% }.cdk-overlay-backdrop {position: absolute;top: 0;bottom: 0;left: 0;right: 0;z-index: 1000;pointer-events: auto;transition: opacity .4s cubic-bezier(.25, .8, .25, 1);opacity: 0 }.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {opacity: 1 }.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {opacity: .6 }.cdk-overlay-dark-backdrop {background: rgba(0, 0, 0, .32) }.cdk-overlay-transparent-backdrop {transition: visibility 1ms linear, opacity 1ms linear;visibility: hidden;opacity: 1 }.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {opacity: 0;visibility: visible }.cdk-overlay-backdrop-noop-animation {transition: none }.cdk-overlay-connected-position-bounding-box {flex-direction: column;min-width: 1px;min-height: 1px }.cdk-global-scrollblock {position: fixed;width: 100%;overflow-y: scroll }.cdk-visually-hidden {border: 0;clip: rect(0 0 0 0);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;outline: 0;-webkit-appearance: none;-moz-appearance: none }.nz-overlay-transparent-backdrop, .nz-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {opacity: 0 }.ant-select, .ant-select-dropdown {margin: 0;line-height: 1.5715;box-sizing: border-box;font-feature-settings: 'tnum';list-style: none }.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottom, .ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomLeft, .ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomRight, .ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottom, .ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomLeft, .ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomRight, .ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-bottomLeft, .ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-bottomLeft {animation-name: antSlideUpIn }.ant-select-dropdown.ant-select-tree-dropdown {top: 100%;left: 0;position: relative;width: 100%;margin-top: 4px;margin-bottom: 4px;overflow: auto }.ant-select-dropdown-hidden, .ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-delete, .ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-eye, .ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info::before {display: none }.ant-select-dropdown {top: 100%;left: 0;position: relative;width: 100%;margin-top: 4px;margin-bottom: 4px;display: block }.ant-select-dropdown .cdk-virtual-scroll-content-wrapper {right: 0 }.ant-select-dropdown .full-width {contain: initial }.ant-select-dropdown .full-width .cdk-virtual-scroll-content-wrapper {position: static }.ant-select-dropdown .full-width .cdk-virtual-scroll-spacer {position: absolute;top: 0;width: 1px }.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-topLeft, .ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-topLeft {animation-name: antSlideDownIn }.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-bottomLeft {animation-name: antSlideUpOut }.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-topLeft {animation-name: antSlideDownOut }
|
|
3872
3601
|
|
|
3873
3602
|
`;
|
|
3874
3603
|
|
|
@@ -3930,11 +3659,6 @@ const routes = [
|
|
|
3930
3659
|
},
|
|
3931
3660
|
],
|
|
3932
3661
|
},
|
|
3933
|
-
// {
|
|
3934
|
-
// path: 'sites',
|
|
3935
|
-
// component: SitesComponent,
|
|
3936
|
-
// data: { keep: true }
|
|
3937
|
-
// },
|
|
3938
3662
|
{
|
|
3939
3663
|
path: 'sections',
|
|
3940
3664
|
children: [
|
|
@@ -3964,9 +3688,9 @@ const routes = [
|
|
|
3964
3688
|
},
|
|
3965
3689
|
];
|
|
3966
3690
|
class CmsRoutingModule {
|
|
3967
|
-
static
|
|
3968
|
-
static
|
|
3969
|
-
static
|
|
3691
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CmsRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3692
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: CmsRoutingModule, imports: [i3$1.RouterModule], exports: [RouterModule] }); }
|
|
3693
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CmsRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
|
|
3970
3694
|
}
|
|
3971
3695
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CmsRoutingModule, decorators: [{
|
|
3972
3696
|
type: NgModule,
|
|
@@ -3991,10 +3715,9 @@ class CmsModule {
|
|
|
3991
3715
|
static forLazy(options = {}) {
|
|
3992
3716
|
return new LazyModuleFactory(CmsModule.forChild(options));
|
|
3993
3717
|
}
|
|
3994
|
-
static
|
|
3995
|
-
static
|
|
3718
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CmsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3719
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: CmsModule, declarations: [EntriesComponent,
|
|
3996
3720
|
FieldsComponent,
|
|
3997
|
-
// SitesComponent,
|
|
3998
3721
|
SectionsComponent,
|
|
3999
3722
|
FieldGroupComponent,
|
|
4000
3723
|
CreateFieldComponent,
|
|
@@ -4024,8 +3747,8 @@ class CmsModule {
|
|
|
4024
3747
|
MatrixControlComponent,
|
|
4025
3748
|
EntryConfigComponent,
|
|
4026
3749
|
EntryControlComponent,
|
|
4027
|
-
DomainsComponent] });
|
|
4028
|
-
static
|
|
3750
|
+
DomainsComponent] }); }
|
|
3751
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CmsModule, imports: [CoreModule,
|
|
4029
3752
|
ThemeSharedModule,
|
|
4030
3753
|
CmsRoutingModule,
|
|
4031
3754
|
FormsModule,
|
|
@@ -4036,7 +3759,7 @@ class CmsModule {
|
|
|
4036
3759
|
NzSelectModule,
|
|
4037
3760
|
DynamicFormModule.forRoot({
|
|
4038
3761
|
cmsFieldControlGroup: [...FieldControlGroup, ...fielFieldControlGroup, ...ckEditorFieldControlGroup]
|
|
4039
|
-
})] });
|
|
3762
|
+
})] }); }
|
|
4040
3763
|
}
|
|
4041
3764
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CmsModule, decorators: [{
|
|
4042
3765
|
type: NgModule,
|
|
@@ -4044,7 +3767,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4044
3767
|
declarations: [
|
|
4045
3768
|
EntriesComponent,
|
|
4046
3769
|
FieldsComponent,
|
|
4047
|
-
// SitesComponent,
|
|
4048
3770
|
SectionsComponent,
|
|
4049
3771
|
FieldGroupComponent,
|
|
4050
3772
|
CreateFieldComponent,
|