@yoobic/yobi 8.3.0-43 → 8.3.0-46
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/dist/cjs/design-system.cjs.js +1 -1
- package/dist/cjs/{entities-helpers-e77cfd61.js → entities-helpers-99fc4a8a.js} +29 -1
- package/dist/cjs/{filters-helpers-536b7b88.js → filters-helpers-63712f8d.js} +6 -13
- package/dist/cjs/{form-choice-helpers-b2ec494b.js → form-choice-helpers-e28efa04.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/yoo-detail-bar.cjs.entry.js +1 -1
- package/dist/cjs/yoo-entity-query-builder.cjs.entry.js +1 -1
- package/dist/cjs/yoo-entity-search-filters.cjs.entry.js +1 -1
- package/dist/cjs/yoo-entity.cjs.entry.js +47 -70
- package/dist/cjs/yoo-form-autocomplete.cjs.entry.js +4 -3
- package/dist/cjs/yoo-form-choice-button.cjs.entry.js +1 -1
- package/dist/cjs/yoo-form-choice-card.cjs.entry.js +1 -1
- package/dist/cjs/yoo-form-choice-chat.cjs.entry.js +1 -1
- package/dist/cjs/yoo-form-choice-image.cjs.entry.js +1 -1
- package/dist/cjs/yoo-form-choice-radio.cjs.entry.js +1 -1
- package/dist/cjs/yoo-form-connect.cjs.entry.js +2 -1
- package/dist/cjs/yoo-form-creator-workflow-step.cjs.entry.js +1 -1
- package/dist/cjs/yoo-form-dynamic.cjs.entry.js +1 -0
- package/dist/cjs/yoo-form-missionfield.cjs.entry.js +7 -1
- package/dist/cjs/yoo-form-swipe-cards.cjs.entry.js +1 -1
- package/dist/cjs/yoo-form-text-editor.cjs.entry.js +64 -46
- package/dist/cjs/yoo-form-todo-task-list.cjs.entry.js +1 -2
- package/dist/cjs/yoo-grid.cjs.entry.js +1 -1
- package/dist/cjs/yoo-input-bar.cjs.entry.js +12948 -12743
- package/dist/cjs/yoo-login.cjs.entry.js +1 -1
- package/dist/cjs/yoo-scratch-card-creator.cjs.entry.js +1 -3
- package/dist/cjs/yoo-section-list.cjs.entry.js +3 -3
- package/dist/cjs/yoo-slides-media.cjs.entry.js +1 -1
- package/dist/cjs/yoo-user-profile.cjs.entry.js +1 -1
- package/dist/cjs/yoo-videoplayer-videojs.cjs.entry.js +3 -3
- package/dist/collection/components/entities/entity/entity.js +47 -70
- package/dist/collection/components/form/form-autocomplete/form-autocomplete.js +27 -5
- package/dist/collection/components/form/form-choice/form-choice-helpers.js +1 -1
- package/dist/collection/components/form/form-connect/form-connect.js +2 -1
- package/dist/collection/components/form/form-dynamic/form-dynamic.js +1 -0
- package/dist/collection/components/form/form-missionfield/form-missionfield.js +7 -1
- package/dist/collection/components/form/form-swipe-cards/form-swipe-cards.css +1 -1
- package/dist/collection/components/form/form-todo-task-list/form-todo-task-list.js +1 -2
- package/dist/collection/components/form-creator/scratch-card-creator/scratch-card-creator.js +1 -3
- package/dist/collection/feature-learn/learning/section-list/section-list.js +3 -3
- package/dist/collection/feature-platform/login/login/login.css +1 -2
- package/dist/collection/utils/helpers/entities-helpers.js +29 -2
- package/dist/collection/utils/helpers/filters-helpers.js +6 -13
- package/dist/design-system/design-system.esm.js +1 -1
- package/dist/{esm/entities-helpers-9ea378f0.js → design-system/entities-helpers-67ff3fa4.js} +30 -3
- package/dist/{esm/filters-helpers-41224cde.js → design-system/filters-helpers-ded9ed03.js} +6 -13
- package/dist/design-system/{form-choice-helpers-800a6124.js → form-choice-helpers-b6936c42.js} +1 -1
- package/dist/design-system/yoo-detail-bar.entry.js +1 -1
- package/dist/design-system/yoo-entity-query-builder.entry.js +1 -1
- package/dist/design-system/yoo-entity-search-filters.entry.js +1 -1
- package/dist/design-system/yoo-entity.entry.js +47 -70
- package/dist/design-system/yoo-form-autocomplete.entry.js +4 -3
- package/dist/design-system/yoo-form-choice-button.entry.js +1 -1
- package/dist/design-system/yoo-form-choice-card.entry.js +1 -1
- package/dist/design-system/yoo-form-choice-chat.entry.js +1 -1
- package/dist/design-system/yoo-form-choice-image.entry.js +1 -1
- package/dist/design-system/yoo-form-choice-radio.entry.js +1 -1
- package/dist/design-system/yoo-form-connect.entry.js +2 -1
- package/dist/design-system/yoo-form-creator-workflow-step.entry.js +1 -1
- package/dist/design-system/yoo-form-dynamic.entry.js +1 -0
- package/dist/design-system/yoo-form-missionfield.entry.js +7 -1
- package/dist/design-system/yoo-form-swipe-cards.entry.js +1 -1
- package/dist/design-system/yoo-form-text-editor.entry.js +64 -46
- package/dist/design-system/yoo-form-todo-task-list.entry.js +1 -2
- package/dist/design-system/yoo-grid.entry.js +1 -1
- package/dist/design-system/yoo-input-bar.entry.js +12948 -12743
- package/dist/design-system/yoo-login.entry.js +1 -1
- package/dist/design-system/yoo-scratch-card-creator.entry.js +1 -3
- package/dist/design-system/yoo-section-list.entry.js +4 -4
- package/dist/design-system/yoo-slides-media.entry.js +1 -1
- package/dist/design-system/yoo-user-profile.entry.js +1 -1
- package/dist/design-system/yoo-videoplayer-videojs.entry.js +3 -3
- package/dist/esm/design-system.js +1 -1
- package/dist/{design-system/entities-helpers-9ea378f0.js → esm/entities-helpers-67ff3fa4.js} +30 -3
- package/dist/{design-system/filters-helpers-41224cde.js → esm/filters-helpers-ded9ed03.js} +6 -13
- package/dist/esm/{form-choice-helpers-800a6124.js → form-choice-helpers-b6936c42.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/yoo-detail-bar.entry.js +1 -1
- package/dist/esm/yoo-entity-query-builder.entry.js +1 -1
- package/dist/esm/yoo-entity-search-filters.entry.js +1 -1
- package/dist/esm/yoo-entity.entry.js +47 -70
- package/dist/esm/yoo-form-autocomplete.entry.js +4 -3
- package/dist/esm/yoo-form-choice-button.entry.js +1 -1
- package/dist/esm/yoo-form-choice-card.entry.js +1 -1
- package/dist/esm/yoo-form-choice-chat.entry.js +1 -1
- package/dist/esm/yoo-form-choice-image.entry.js +1 -1
- package/dist/esm/yoo-form-choice-radio.entry.js +1 -1
- package/dist/esm/yoo-form-connect.entry.js +2 -1
- package/dist/esm/yoo-form-creator-workflow-step.entry.js +1 -1
- package/dist/esm/yoo-form-dynamic.entry.js +1 -0
- package/dist/esm/yoo-form-missionfield.entry.js +7 -1
- package/dist/esm/yoo-form-swipe-cards.entry.js +1 -1
- package/dist/esm/yoo-form-text-editor.entry.js +64 -46
- package/dist/esm/yoo-form-todo-task-list.entry.js +1 -2
- package/dist/esm/yoo-grid.entry.js +1 -1
- package/dist/esm/yoo-input-bar.entry.js +12948 -12743
- package/dist/esm/yoo-login.entry.js +1 -1
- package/dist/esm/yoo-scratch-card-creator.entry.js +1 -3
- package/dist/esm/yoo-section-list.entry.js +4 -4
- package/dist/esm/yoo-slides-media.entry.js +1 -1
- package/dist/esm/yoo-user-profile.entry.js +1 -1
- package/dist/esm/yoo-videoplayer-videojs.entry.js +3 -3
- package/dist/types/components/form/form-autocomplete/form-autocomplete.d.ts +1 -1
- package/dist/types/components.d.ts +2 -0
- package/dist/types/home/runner/work/yoobic-ng-6/yoobic-ng-6/design-system/stencil/.stencil/shared/interfaces/src/entities/custom-app/custom-app.interface.d.ts +10 -3
- package/dist/types/home/runner/work/yoobic-ng-6/yoobic-ng-6/design-system/stencil/.stencil/shared/interfaces/src/entities/form-field/form-field.interface.d.ts +1 -0
- package/dist/types/utils/helpers/entities-helpers.d.ts +1 -0
- package/package.json +1 -1
|
@@ -457,7 +457,9 @@ export class YooFormAutocompleteComponent {
|
|
|
457
457
|
}
|
|
458
458
|
async refreshValues() {
|
|
459
459
|
await this.resetCurrentPage();
|
|
460
|
-
|
|
460
|
+
if (!this.isLocal) {
|
|
461
|
+
this.fetchData.emit({ search: this.searchText, appendData: false, currentPage: this.currentPage, pageSize: this.pageSize, tmpValues: this.values, fieldValue: this.value });
|
|
462
|
+
}
|
|
461
463
|
}
|
|
462
464
|
async onInputContainerClicked() {
|
|
463
465
|
this.host.classList.add('focused');
|
|
@@ -718,8 +720,7 @@ export class YooFormAutocompleteComponent {
|
|
|
718
720
|
}
|
|
719
721
|
}
|
|
720
722
|
onFilterRadioToggled(operator) {
|
|
721
|
-
this.
|
|
722
|
-
this.extraDataChanged.emit(this.filterOperator);
|
|
723
|
+
this.extraDataChanged.emit(operator);
|
|
723
724
|
}
|
|
724
725
|
async onFileChanges(ev) {
|
|
725
726
|
ev.stopPropagation();
|
|
@@ -1942,6 +1943,28 @@ export class YooFormAutocompleteComponent {
|
|
|
1942
1943
|
"attribute": "is-filter",
|
|
1943
1944
|
"reflect": false
|
|
1944
1945
|
},
|
|
1946
|
+
"filterOperator": {
|
|
1947
|
+
"type": "string",
|
|
1948
|
+
"mutable": false,
|
|
1949
|
+
"complexType": {
|
|
1950
|
+
"original": "FormFilterAutocompleteOperator",
|
|
1951
|
+
"resolved": "FormFilterAutocompleteOperator.is | FormFilterAutocompleteOperator.isNot",
|
|
1952
|
+
"references": {
|
|
1953
|
+
"FormFilterAutocompleteOperator": {
|
|
1954
|
+
"location": "import",
|
|
1955
|
+
"path": "@shared/interfaces"
|
|
1956
|
+
}
|
|
1957
|
+
}
|
|
1958
|
+
},
|
|
1959
|
+
"required": false,
|
|
1960
|
+
"optional": true,
|
|
1961
|
+
"docs": {
|
|
1962
|
+
"tags": [],
|
|
1963
|
+
"text": ""
|
|
1964
|
+
},
|
|
1965
|
+
"attribute": "filter-operator",
|
|
1966
|
+
"reflect": false
|
|
1967
|
+
},
|
|
1945
1968
|
"total": {
|
|
1946
1969
|
"type": "number",
|
|
1947
1970
|
"mutable": true,
|
|
@@ -2626,8 +2649,7 @@ export class YooFormAutocompleteComponent {
|
|
|
2626
2649
|
"selection": {},
|
|
2627
2650
|
"showEmptyItemsAddNewTag": {},
|
|
2628
2651
|
"isUploading": {},
|
|
2629
|
-
"arrowIcon": {}
|
|
2630
|
-
"filterOperator": {}
|
|
2652
|
+
"arrowIcon": {}
|
|
2631
2653
|
}; }
|
|
2632
2654
|
static get events() { return [{
|
|
2633
2655
|
"method": "validityChanged",
|
|
@@ -55,7 +55,7 @@ export function prepareChoice(choiceElement) {
|
|
|
55
55
|
}
|
|
56
56
|
export function hasWarnings(values, choiceElement, warningMsgs) {
|
|
57
57
|
const duplicateMessage = 'NODUPLICATEVALUES';
|
|
58
|
-
const hasDuplicatedValues = hasDuplicates(values);
|
|
58
|
+
const hasDuplicatedValues = hasDuplicates(values === null || values === void 0 ? void 0 : values.map(v => (v === null || v === void 0 ? void 0 : v.text) || v));
|
|
59
59
|
showWarningAlert(choiceElement.host, hasDuplicatedValues || !!(warningMsgs === null || warningMsgs === void 0 ? void 0 : warningMsgs.length), hasDuplicatedValues ? duplicateMessage : warningMsgs === null || warningMsgs === void 0 ? void 0 : warningMsgs[0]);
|
|
60
60
|
return hasDuplicatedValues && (warningMsgs === null || warningMsgs === void 0 ? void 0 : warningMsgs.length) > 0;
|
|
61
61
|
}
|
|
@@ -85,9 +85,10 @@ export class YooFormConnectComponent {
|
|
|
85
85
|
(_a = this.draggableElements) === null || _a === void 0 ? void 0 : _a.forEach(e => this.initDraggableActions(e));
|
|
86
86
|
}
|
|
87
87
|
async scrollToRevealGame() {
|
|
88
|
+
var _a;
|
|
88
89
|
const GAP_PADDING = 8;
|
|
89
90
|
const scrollElement = this.host.closest('yoo-ion-scroll');
|
|
90
|
-
if (scrollElement && this.values.length === 2) {
|
|
91
|
+
if (scrollElement && ((_a = this.values) === null || _a === void 0 ? void 0 : _a.length) === 2) {
|
|
91
92
|
const setScrollableHeight = () => {
|
|
92
93
|
const getHeight = (el) => { var _a; return (_a = el === null || el === void 0 ? void 0 : el.getBoundingClientRect()) === null || _a === void 0 ? void 0 : _a.height; };
|
|
93
94
|
const formHeight = getHeight(this.host.closest('yoo-form-input-container'));
|
|
@@ -3336,6 +3336,7 @@ export class YooFormDynamicComponent {
|
|
|
3336
3336
|
inline: this.isInline(),
|
|
3337
3337
|
tags: field.tags,
|
|
3338
3338
|
isFilter: field.type === FormFieldType.filterautocomplete,
|
|
3339
|
+
filterOperator: field.filterOperator,
|
|
3339
3340
|
forceDisableCustomTags: field.forceDisableCustomTags,
|
|
3340
3341
|
extraData: this.getExtraData(field, data),
|
|
3341
3342
|
forceHideSearch: !!field.forceHideSearch,
|
|
@@ -133,8 +133,14 @@ export class YooFormMissionfieldComponent {
|
|
|
133
133
|
renderEditable() {
|
|
134
134
|
var _a, _b, _c, _d, _e;
|
|
135
135
|
const showFields = this.type === 'missionfield' || this.type === 'datasetfield';
|
|
136
|
+
const isLocal = ((_a = this.customModelValues) === null || _a === void 0 ? void 0 : _a.length) >= 0;
|
|
136
137
|
return (h("div", { class: "container" },
|
|
137
|
-
!this.hideCampaign && (h("yoo-form-autocomplete", { ref: (el) => (this.formAutocompleteCampaign = el), multiple: false, value: this.value ? this.value.selectedDescription : null, values: this.customModelValues, entityType: "missiondescriptions", displayType: "card-list", placeholder: this.type === 'datasetfield' ? 'SELECTDATASET' : 'SELECTCAMPAIGN', isLocal:
|
|
138
|
+
!this.hideCampaign && (h("yoo-form-autocomplete", { ref: (el) => (this.formAutocompleteCampaign = el), multiple: false, value: this.value ? this.value.selectedDescription : null, values: this.customModelValues, entityType: "missiondescriptions", displayType: "card-list", placeholder: this.type === 'datasetfield' ? 'SELECTDATASET' : 'SELECTCAMPAIGN', isLocal: isLocal, onFetchData: (ev) => {
|
|
139
|
+
ev.stopPropagation();
|
|
140
|
+
if (!isLocal) {
|
|
141
|
+
this.onFetchData(ev);
|
|
142
|
+
}
|
|
143
|
+
}, onInputChanged: (ev) => this.onInputChanged(ev), onInputBlurred: (ev) => this.onInputBlurred(ev), onInputFocused: (ev) => this.onInputFocused(ev), onValidityChanged: (ev) => this.stopValidityChangeEvent(ev), clearable: true, tabindex: this.inputTabIndex, size: this.size })),
|
|
138
144
|
!this.hideCampaign && h("div", { class: "spacer" }),
|
|
139
145
|
h("yoo-form-autocomplete", { ref: (el) => (this.formAutocompleteSecondary = el), multiple: this.multiple, idAttributeName: this.type === 'missionscore' ? 'title' : 'name', values: showFields ? this.fields : this.scoring, value: this.value && this.type === 'missionscore' ? this.value.scores : this.value ? this.value.fields : null, entityType: showFields ? 'formfield' : 'scoring', placeholder: showFields ? 'SELECTFORMFIELD' : 'SELECTSCORING', displayType: "card-list", disabled: !((_c = (_b = this === null || this === void 0 ? void 0 : this.value) === null || _b === void 0 ? void 0 : _b.selectedDescription) === null || _c === void 0 ? void 0 : _c._id), isLocal: true, expandHeightOnShow: !((_e = (_d = this.host) === null || _d === void 0 ? void 0 : _d.classList) === null || _e === void 0 ? void 0 : _e.contains('inline')), onFetchData: (ev) => {
|
|
140
146
|
ev.stopPropagation();
|
|
@@ -722,7 +722,7 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
|
|
|
722
722
|
|
|
723
723
|
:host([live-preview]),
|
|
724
724
|
:host(.mobile) {
|
|
725
|
-
min-height:
|
|
725
|
+
min-height: 60vh;
|
|
726
726
|
}
|
|
727
727
|
:host([live-preview]) #instructions #header,
|
|
728
728
|
:host(.mobile) #instructions #header {
|
|
@@ -96,9 +96,8 @@ export class YooFormTodoTaskListComponent {
|
|
|
96
96
|
return updated;
|
|
97
97
|
}
|
|
98
98
|
async deleteTask(index, withConfirmation = true) {
|
|
99
|
-
var _a, _b;
|
|
100
99
|
const result = withConfirmation
|
|
101
|
-
? await showAlert(translate('DELETETASK'), [translate('CANCEL'), { cssClass: 'danger', text: translate('DELETE') }], translate('CONFIRMDELETETASK'
|
|
100
|
+
? await showAlert(translate('DELETETASK'), [translate('CANCEL'), { cssClass: 'danger', text: translate('DELETE') }], translate('CONFIRMDELETETASK'))
|
|
102
101
|
: true;
|
|
103
102
|
if (result) {
|
|
104
103
|
this.updateValue({ ...this.value, values: [...this.value.values.slice(0, index), ...this.value.values.slice(index + 1)] });
|
package/dist/collection/components/form-creator/scratch-card-creator/scratch-card-creator.js
CHANGED
|
@@ -35,9 +35,7 @@ export class YooScratchCardCreatorComponent {
|
|
|
35
35
|
if ((_a = this.translationKey) === null || _a === void 0 ? void 0 : _a.length) {
|
|
36
36
|
this.translationValueUpdated.emit({ key: this.translationKey, value: this.inputValues.text });
|
|
37
37
|
}
|
|
38
|
-
|
|
39
|
-
this.inputChanged.emit(values);
|
|
40
|
-
}
|
|
38
|
+
this.inputChanged.emit(values);
|
|
41
39
|
}
|
|
42
40
|
onCaptureUpdated(ev, content) {
|
|
43
41
|
if (content) {
|
|
@@ -400,7 +400,7 @@ export class YooSectionListComponent {
|
|
|
400
400
|
h("div", { class: "section-title" },
|
|
401
401
|
this.icon && h("div", { class: "icon" },
|
|
402
402
|
h("yoo-icon", { name: this.icon, size: "medium", color: "text-color" })),
|
|
403
|
-
h("div", { class: "title" }, section.translatedTitle
|
|
403
|
+
h("div", { class: "title" }, getCurrentLanguage() === this.baseLanguage ? section.translatedTitle : translateMulti(section.title)),
|
|
404
404
|
h("div", { class: "item-count" }, `${items.length} ${translate((_a = this.countSuffix) === null || _a === void 0 ? void 0 : _a.toUpperCase())}`),
|
|
405
405
|
!this.disableSortable && !this.isReadonly && section.isSortable !== false && h("div", { class: "draggable" },
|
|
406
406
|
h("yoo-icon", { name: "draggable", color: "text-color", size: "medium" })),
|
|
@@ -428,8 +428,8 @@ export class YooSectionListComponent {
|
|
|
428
428
|
}
|
|
429
429
|
renderSectionItem(item) {
|
|
430
430
|
let checkboxRef;
|
|
431
|
-
const title = getTranslatedAttribute(this.translations, item.title, this.baseLanguage
|
|
432
|
-
const text = getTranslatedAttribute(this.translations, item.text, this.baseLanguage
|
|
431
|
+
const title = getTranslatedAttribute(this.translations, item.title, getCurrentLanguage() || this.baseLanguage, 'title').value || translateMulti(item.title);
|
|
432
|
+
const text = getTranslatedAttribute(this.translations, item.text, getCurrentLanguage() || this.baseLanguage, 'text').value || translateMulti(item.text);
|
|
433
433
|
return (h("div", { class: "item selectable", onMouseEnter: this.getItemMouseEnterAction(), onMouseLeave: this.getItemMouseLeaveAction() },
|
|
434
434
|
h("div", { class: "checkbox", ref: (el) => checkboxRef = el }, !this.disableBatchActions && this.isOwner && item.isSelectable !== false && h("yoo-form-checkbox", { onInputChanged: (ev) => this.onCheckboxClicked(ev, item, checkboxRef) })),
|
|
435
435
|
h("div", { class: "item-container", onClick: () => this.itemClicked.emit(item) },
|
|
@@ -209,7 +209,6 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
|
|
|
209
209
|
box-sizing: border-box;
|
|
210
210
|
width: 100%;
|
|
211
211
|
height: 100%;
|
|
212
|
-
padding-bottom: var(--spacing-16, 1rem);
|
|
213
212
|
}
|
|
214
213
|
.outer-login-container h1, .outer-login-container h3 {
|
|
215
214
|
font-weight: 900;
|
|
@@ -232,7 +231,7 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
|
|
|
232
231
|
justify-content: center;
|
|
233
232
|
box-sizing: border-box;
|
|
234
233
|
width: 100%;
|
|
235
|
-
padding:
|
|
234
|
+
padding: 7.5rem var(--spacing-24, 1.5rem) 0;
|
|
236
235
|
}
|
|
237
236
|
.outer-login-container.ios .content-container {
|
|
238
237
|
position: absolute;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MessageType } from '@shared/interfaces';
|
|
2
|
-
import { capitalizeFirstLetter, changeExtension, getAsyncExtraData, getCurrentLanguage, getSession, getUserDisplayName, isCloudinaryLink, isGif, isPhotoEdited, parseMarkDown, pipes, replaceAllLinks, replaceAtTagToMentionTag, toButton, toDate, translate, translateMulti } from '@shared/utils';
|
|
2
|
+
import { capitalizeFirstLetter, changeExtension, getAsyncExtraData, getCssColor, getCurrentLanguage, getSession, getUserDisplayName, isCloudinaryLink, isGif, isPhotoEdited, isVideo, parseMarkDown, pipes, replaceAllLinks, replaceAtTagToMentionTag, toButton, toDate, translate, translateMulti } from '@shared/utils';
|
|
3
3
|
import { compact, isNumber } from 'lodash-es';
|
|
4
4
|
const mentionRegex = /<yoo-mention-tag[^>]*>([\s\S]*?)<\/yoo-mention-tag>/g;
|
|
5
5
|
/**
|
|
@@ -303,7 +303,7 @@ function getChatDate(lastMessageDate) {
|
|
|
303
303
|
return pipes.dateFormat.transform(date, 'YY/MM/DD');
|
|
304
304
|
}
|
|
305
305
|
export function getFolderIcon(item) {
|
|
306
|
-
return item.folderType === 'article' ? 'pages' : item.icon || 'folder';
|
|
306
|
+
return (item === null || item === void 0 ? void 0 : item.folderType) === 'article' ? 'pages' : (item === null || item === void 0 ? void 0 : item.icon) || 'folder';
|
|
307
307
|
}
|
|
308
308
|
export function getCalendarCourseDueDate(endDate, allDay) {
|
|
309
309
|
if (endDate) {
|
|
@@ -311,3 +311,30 @@ export function getCalendarCourseDueDate(endDate, allDay) {
|
|
|
311
311
|
}
|
|
312
312
|
return null;
|
|
313
313
|
}
|
|
314
|
+
export function parseFolderForCardList(f, entityType) {
|
|
315
|
+
var _a, _b;
|
|
316
|
+
if (!f) {
|
|
317
|
+
return null;
|
|
318
|
+
}
|
|
319
|
+
const imgSrc = f.imgSrc || ((_a = f.background) === null || _a === void 0 ? void 0 : _a._downloadURL);
|
|
320
|
+
const avatarIconSize = entityType === 'folders' ? 'extra-large' : 'large';
|
|
321
|
+
const entry = {
|
|
322
|
+
avatarSize: 'large',
|
|
323
|
+
avatarIconSize,
|
|
324
|
+
avatarColor: f.color ? `${f.color}` : getCssColor('app-color-80'),
|
|
325
|
+
avatarFrame: 'transparent-square',
|
|
326
|
+
cloudinaryOptions: isVideo(imgSrc) ? { fallbackToOriginal: true, gif: true, videoEdit: 3 } : null,
|
|
327
|
+
heading: f.name,
|
|
328
|
+
icon: getFolderIcon(f),
|
|
329
|
+
imgSrc,
|
|
330
|
+
subheadings: [],
|
|
331
|
+
tagElements: compact(f.tags).map((t) => ({ innerHTML: t, color: 'stable-light' }))
|
|
332
|
+
};
|
|
333
|
+
if (f.stats) {
|
|
334
|
+
entry.subheadings = [
|
|
335
|
+
(((_b = f.container) === null || _b === void 0 ? void 0 : _b.name) ? f.container.name + ' ' : '') +
|
|
336
|
+
f.stats.map(s => '<span>' + translate(s.title) + ': ' + s.value.toString() + '</span>').join()
|
|
337
|
+
];
|
|
338
|
+
}
|
|
339
|
+
return entry;
|
|
340
|
+
}
|
|
@@ -118,6 +118,8 @@ export function filterRenderFormDynamic(filteredFields, filters, formAutocomplet
|
|
|
118
118
|
const data = {};
|
|
119
119
|
filteredFields.forEach((field, index) => {
|
|
120
120
|
var _a;
|
|
121
|
+
const filter = filters.find((filter) => filter.fieldname === field.name &&
|
|
122
|
+
(dynamic || (filter.fieldfiltername === (field.filterName || field.name) && (filter.fieldname !== 'tags' || filter.collectionName === field.collectionName))));
|
|
121
123
|
const newField = {
|
|
122
124
|
...field,
|
|
123
125
|
multiple: true,
|
|
@@ -192,19 +194,10 @@ export function filterRenderFormDynamic(filteredFields, filters, formAutocomplet
|
|
|
192
194
|
if (expandHeightOnShow === false) {
|
|
193
195
|
newField.expandHeightOnShow = false;
|
|
194
196
|
}
|
|
195
|
-
if (
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
set(data, dynamic ? newField.name : field.name, filter.values);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
else {
|
|
203
|
-
const filter = filters.find((f) => f.fieldname === field.name && f.fieldfiltername === (field.filterName || field.name) && (f.fieldname !== 'tags' || f.collectionName === field.collectionName));
|
|
204
|
-
if (filter) {
|
|
205
|
-
newField.tmpSelection = filter.tmpSelection;
|
|
206
|
-
set(data, dynamic ? newField.name : field.name, filter.values);
|
|
207
|
-
}
|
|
197
|
+
if (filter) {
|
|
198
|
+
newField.filterOperator = filter.operator;
|
|
199
|
+
newField.tmpSelection = filter.tmpSelection;
|
|
200
|
+
set(data, dynamic ? newField.name : field.name, filter.values);
|
|
208
201
|
}
|
|
209
202
|
if ((formAutocompletes === null || formAutocompletes === void 0 ? void 0 : formAutocompletes.slides) && ((_a = formAutocompletes.slides[0]) === null || _a === void 0 ? void 0 : _a.items)) {
|
|
210
203
|
// we need this to handle location hierarchy dynamic filters
|