@seniorsistemas/angular-components 14.14.0 → 14.14.3
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/bundles/seniorsistemas-angular-components.umd.js +81 -7
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/meta-type.d.ts +1 -0
- package/components/dynamic-form/components/lookup/lookup.component.d.ts +2 -0
- package/components/dynamic-form/configurations/dynamic-type.d.ts +1 -0
- package/components/dynamic-form/configurations/field-type.d.ts +1 -0
- package/components/locale/options/index.d.ts +9 -0
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/meta-type.js +3 -1
- package/esm2015/components/custom-fields/custom-fields.component.js +10 -1
- package/esm2015/components/dynamic-form/components/lookup/lookup.component.js +50 -3
- package/esm2015/components/dynamic-form/configurations/dynamic-config.js +2 -1
- package/esm2015/components/dynamic-form/configurations/dynamic-type.js +2 -1
- package/esm2015/components/dynamic-form/configurations/field-type.js +2 -1
- package/esm2015/components/dynamic-form/configurations/fields/bignumber-field.js +3 -3
- package/esm2015/components/dynamic-form/configurations/fields/calendar-field.js +3 -3
- package/esm2015/components/dynamic-form/configurations/fields/currency-field.js +3 -3
- package/esm2015/components/dynamic-form/configurations/fields/decimal-field.js +3 -3
- package/esm2015/components/dynamic-form/configurations/fields/number-field.js +3 -3
- package/esm2015/components/dynamic-form/configurations/form-field.js +2 -1
- package/esm2015/components/dynamic-form/dynamic-form.js +6 -1
- package/esm2015/components/locale/options/index.js +10 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/meta-type.js +3 -1
- package/esm5/components/custom-fields/custom-fields.component.js +10 -1
- package/esm5/components/dynamic-form/components/lookup/lookup.component.js +50 -3
- package/esm5/components/dynamic-form/configurations/dynamic-config.js +2 -1
- package/esm5/components/dynamic-form/configurations/dynamic-type.js +2 -1
- package/esm5/components/dynamic-form/configurations/field-type.js +2 -1
- package/esm5/components/dynamic-form/configurations/fields/bignumber-field.js +3 -3
- package/esm5/components/dynamic-form/configurations/fields/calendar-field.js +3 -3
- package/esm5/components/dynamic-form/configurations/fields/currency-field.js +3 -3
- package/esm5/components/dynamic-form/configurations/fields/decimal-field.js +3 -3
- package/esm5/components/dynamic-form/configurations/fields/number-field.js +3 -3
- package/esm5/components/dynamic-form/configurations/form-field.js +2 -1
- package/esm5/components/dynamic-form/dynamic-form.js +6 -1
- package/esm5/components/locale/options/index.js +10 -1
- package/fesm2015/seniorsistemas-angular-components.js +81 -7
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +81 -7
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -1176,6 +1176,7 @@
|
|
|
1176
1176
|
FieldType["Chips"] = "Chips";
|
|
1177
1177
|
FieldType["Date"] = "Date";
|
|
1178
1178
|
FieldType["DateTime"] = "DateTime";
|
|
1179
|
+
FieldType["LocalDateTime"] = "LocalDateTime";
|
|
1179
1180
|
/**
|
|
1180
1181
|
* @deprecated Should use 'Number' instead
|
|
1181
1182
|
*/
|
|
@@ -1297,8 +1298,17 @@
|
|
|
1297
1298
|
}
|
|
1298
1299
|
return LocaleOptions;
|
|
1299
1300
|
}());
|
|
1301
|
+
/**
|
|
1302
|
+
* @deprecated
|
|
1303
|
+
*/
|
|
1300
1304
|
var DEFAULT_CALENDAR_LOCALE_OPTIONS = new CalendarLocaleOptions();
|
|
1305
|
+
/**
|
|
1306
|
+
* @deprecated
|
|
1307
|
+
*/
|
|
1301
1308
|
var DEFAULT_NUMBER_LOCALE_OPTIONS = new NumberLocaleOptions();
|
|
1309
|
+
/**
|
|
1310
|
+
* @deprecated
|
|
1311
|
+
*/
|
|
1302
1312
|
var DEFAULT_LOCALE_OPTIONS = new LocaleOptions();
|
|
1303
1313
|
|
|
1304
1314
|
var moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670
|
|
@@ -1632,7 +1642,7 @@
|
|
|
1632
1642
|
function BignumberField(config) {
|
|
1633
1643
|
var _a;
|
|
1634
1644
|
var _this = _super.call(this, config) || this;
|
|
1635
|
-
_this.numberLocaleOptions = config.numberLocaleOptions ||
|
|
1645
|
+
_this.numberLocaleOptions = config.numberLocaleOptions || new NumberLocaleOptions();
|
|
1636
1646
|
_this.browserAutocomplete = config.browserAutocomplete;
|
|
1637
1647
|
_this.precision = config.precision;
|
|
1638
1648
|
_this.scale = (_a = config.scale) !== null && _a !== void 0 ? _a : 2;
|
|
@@ -1700,7 +1710,7 @@
|
|
|
1700
1710
|
_this.maxDate = config.maxDate;
|
|
1701
1711
|
_this.appendTo = config.appendTo;
|
|
1702
1712
|
_this.showOnFocus = typeof config.showOnFocus === "boolean" ? config.showOnFocus : true;
|
|
1703
|
-
_this.calendarLocaleOptions = config.calendarLocaleOptions ||
|
|
1713
|
+
_this.calendarLocaleOptions = config.calendarLocaleOptions || new CalendarLocaleOptions();
|
|
1704
1714
|
_this.onBlur = config.onBlur;
|
|
1705
1715
|
_this.onFocus = config.onFocus;
|
|
1706
1716
|
_this.onSelect = config.onSelect;
|
|
@@ -1879,7 +1889,7 @@
|
|
|
1879
1889
|
__extends(NumberField, _super);
|
|
1880
1890
|
function NumberField(config) {
|
|
1881
1891
|
var _this = _super.call(this, config) || this;
|
|
1882
|
-
_this.numberLocaleOptions = config.numberLocaleOptions ||
|
|
1892
|
+
_this.numberLocaleOptions = config.numberLocaleOptions || new NumberLocaleOptions();
|
|
1883
1893
|
_this.browserAutocomplete = config.browserAutocomplete;
|
|
1884
1894
|
_this.precision = config.precision;
|
|
1885
1895
|
_this.alignTo = config.alignTo || exports.NumberAlignmentOption.LEFT;
|
|
@@ -1902,7 +1912,7 @@
|
|
|
1902
1912
|
__extends(DecimalField, _super);
|
|
1903
1913
|
function DecimalField(config) {
|
|
1904
1914
|
var _this = _super.call(this, config) || this;
|
|
1905
|
-
_this.numberLocaleOptions = config.numberLocaleOptions ||
|
|
1915
|
+
_this.numberLocaleOptions = config.numberLocaleOptions || new NumberLocaleOptions();
|
|
1906
1916
|
_this.alignTo = config.alignTo || exports.NumberAlignmentOption.RIGHT;
|
|
1907
1917
|
_this.scale = config.scale || config.scale === 0 ? config.scale : 2;
|
|
1908
1918
|
return _this;
|
|
@@ -1917,7 +1927,7 @@
|
|
|
1917
1927
|
__extends(CurrencyField, _super);
|
|
1918
1928
|
function CurrencyField(config) {
|
|
1919
1929
|
var _this = _super.call(this, config) || this;
|
|
1920
|
-
_this.numberLocaleOptions = config.numberLocaleOptions ||
|
|
1930
|
+
_this.numberLocaleOptions = config.numberLocaleOptions || new NumberLocaleOptions();
|
|
1921
1931
|
return _this;
|
|
1922
1932
|
}
|
|
1923
1933
|
return CurrencyField;
|
|
@@ -2077,6 +2087,7 @@
|
|
|
2077
2087
|
return new BooleanField(config);
|
|
2078
2088
|
case exports.FieldType.Date:
|
|
2079
2089
|
case exports.FieldType.DateTime:
|
|
2090
|
+
case exports.FieldType.LocalDateTime:
|
|
2080
2091
|
case exports.FieldType.Time:
|
|
2081
2092
|
return new CalendarField(config);
|
|
2082
2093
|
case exports.FieldType.Lookup:
|
|
@@ -2138,9 +2149,24 @@
|
|
|
2138
2149
|
LookupComponent_1 = LookupComponent;
|
|
2139
2150
|
LookupComponent.prototype.ngOnInit = function () {
|
|
2140
2151
|
var _this = this;
|
|
2152
|
+
if (!this.searchGridFields) {
|
|
2153
|
+
this.searchGridFields = this.searchFields.map(function (item) { return new FormField(__assign({}, item)); });
|
|
2154
|
+
}
|
|
2141
2155
|
this.searchFields = this.searchFields.map(function (value) { return new FormField(__assign(__assign({}, value), { size: { sm: 12, md: 12, lg: 12, xl: 12 } })); });
|
|
2142
|
-
this.searchGridFields =
|
|
2156
|
+
this.searchGridFields = this.searchGridFields.map(function (gridField) {
|
|
2143
2157
|
gridField["width"] = _this.getColWidth(gridField.label);
|
|
2158
|
+
var calendarOptions = new CalendarLocaleOptions(__assign({}, gridField.calendarLocaleOptions));
|
|
2159
|
+
if (calendarOptions === null || calendarOptions === void 0 ? void 0 : calendarOptions.dateFormat) {
|
|
2160
|
+
switch (gridField.type) {
|
|
2161
|
+
case exports.FieldType.Date:
|
|
2162
|
+
calendarOptions.dateFormat = _this._convertToMomentDateFormat(calendarOptions.dateFormat);
|
|
2163
|
+
break;
|
|
2164
|
+
case exports.FieldType.Time:
|
|
2165
|
+
calendarOptions.dateFormat = _this._convertToMomentHourFormat(calendarOptions.hourFormat, calendarOptions.dateFormat);
|
|
2166
|
+
break;
|
|
2167
|
+
}
|
|
2168
|
+
gridField.calendarLocaleOptions = calendarOptions;
|
|
2169
|
+
}
|
|
2144
2170
|
return gridField;
|
|
2145
2171
|
});
|
|
2146
2172
|
var formGroup = this.searchFields.reduce(function (result, field) {
|
|
@@ -2166,6 +2192,36 @@
|
|
|
2166
2192
|
_this.onChange(newValue);
|
|
2167
2193
|
});
|
|
2168
2194
|
};
|
|
2195
|
+
LookupComponent.prototype._convertToMomentHourFormat = function (hourFormat, format) {
|
|
2196
|
+
if (format === "dd/mm/yy") { // valor padrão para o format.
|
|
2197
|
+
return "LTS";
|
|
2198
|
+
}
|
|
2199
|
+
if (hourFormat === "12") {
|
|
2200
|
+
return format
|
|
2201
|
+
.replace(/\bH\b/, "h") // hour (12 hour time) (no leading zero)
|
|
2202
|
+
.replace(/\bHH\b/, "hh"); // hour (12 hour time)
|
|
2203
|
+
}
|
|
2204
|
+
if (hourFormat === "24") {
|
|
2205
|
+
return format
|
|
2206
|
+
.replace(/\bh\b/, "H") // hour (24 hour time) (no leading zero)
|
|
2207
|
+
.replace(/\bhh\b/, "HH"); // hour (24 hour time)
|
|
2208
|
+
}
|
|
2209
|
+
return format;
|
|
2210
|
+
};
|
|
2211
|
+
LookupComponent.prototype._convertToMomentDateFormat = function (format) {
|
|
2212
|
+
// A ordem dos replaces é importante.
|
|
2213
|
+
return format
|
|
2214
|
+
.replace(/\bd\b/, "D") // day of month (no leading zero)
|
|
2215
|
+
.replace(/\bdd\b/, "DD") // day of month
|
|
2216
|
+
.replace(/\bo\b/, "DDD") // day of the year (no leading zero)
|
|
2217
|
+
.replace(/\boo\b/, "DDDD") // day of the year
|
|
2218
|
+
.replace(/\bM\b/, "MMM") // month name short
|
|
2219
|
+
.replace(/\bMM\b/, "MMMM") // month name long
|
|
2220
|
+
.replace(/\bm\b/, "M") // month of year (no leading)
|
|
2221
|
+
.replace(/\bmm\b/, "MM") // month of year
|
|
2222
|
+
.replace(/\by\b/, "YY") // year (two digits)
|
|
2223
|
+
.replace(/\byy\b/, "YYYY"); // year (four digits)
|
|
2224
|
+
};
|
|
2169
2225
|
LookupComponent.prototype.ngAfterViewInit = function () {
|
|
2170
2226
|
this.autocomplete.onOverlayAnimationDone = function (event) { };
|
|
2171
2227
|
};
|
|
@@ -2484,7 +2540,7 @@
|
|
|
2484
2540
|
LookupComponent = LookupComponent_1 = __decorate([
|
|
2485
2541
|
core.Component({
|
|
2486
2542
|
selector: "s-lookup",
|
|
2487
|
-
template: "<div [ngClass]=\"{ inputgroup: showSearch }\">\n <p-autoComplete\n #autocomplete\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"true\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"lazyLoadLookup($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [emptyMessage]=\"lookupEmptyMessage\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\"\n >\n <ng-template let-item pTemplate=\"selectedItem\">\n <span class=\"ui-autocomplete-token-label ng-tns-c65-43 ng-star-inserted\" \n [pTooltip]=\"lookupDisplayFieldTooltip ? item[lookupDisplayField] : null\" \n tooltipPosition=\"top\">\n {{item[lookupDisplayField]}}\n </span>\n </ng-template>\n </p-autoComplete>\n\n <button\n *ngIf=\"showSearch\"\n pButton\n type=\"button\"\n icon=\"fa fa-search\"\n class=\"button-addon\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\"\n ></button>\n</div>\n\n<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog\n>\n <div *ngIf=\"dialogVisible\" class=\"s-lookup-modal-container\">\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter\"\n [@collapseContent]=\"collapsed ? {value: 'hidden', params: {transitionParams: transitionOptions }} : {value: 'visible', params: {transitionParams: transitionOptions}}\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form [formGroup]=\"formGroupDialog\" novalidate autocomplete=\"off\">\n <div *ngIf=\"!collapsed\"\n [@childCollapseContent]=\"collapsed ? {value: ':leave', params: {transitionParams: transitionOptions }} : {value: ':enter', params: {transitionParams: transitionOptions}}\"\n class=\"form-content\">\n <div class=\"filter-title sds-section-title\">{{ filterTitle }}</div>\n <div class=\"form-fields\">\n <s-dynamic-form [fields]=\"searchFields\" [form]=\"formGroupDialog\"></s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"filterLabel\"\n (onClick)=\"search()\"\n pTooltip=\"(ALT + SHIFT + F)\"\n showDelay=\"500\"\n ></s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel\"\n (onClick)=\"clear()\"\n priority=\"link\"\n pTooltip=\"(ALT + SHIFT + L)\"\n showDelay=\"500\"\n ></s-button>\n </div>\n </div>\n </div>\n </form> \n </div>\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button [id]=\"id + '-filter-toggle-button'\" type=\"button\" (click)=\"filterToggle()\">\n <span class=\"fa\" [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\"></span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div class=\"content\" [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\"\n ></s-empty-state>\n\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n *sLoadingState=\"loading\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngIf=\"multiple\" style=\"width: 50px\" />\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngIf=\"multiple\" style=\"width: 50px\">\n <s-table-header-checkbox [useAllObject]=\"lookupRowProps ? false : true\" [rowProps]=\"lookupRowProps\"></s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\"\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon [field]=\"col.name\" *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\"></p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns let-rowIndex=\"rowIndex\">\n <tr\n sNavigation\n [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n sDoubleClick (onDoubleClick)=\"onTableRowDoubleClick(rowData)\"\n >\n <td *ngIf=\"multiple\" style=\"width: 50px\" tabindex=\"0\">\n <p-tableCheckbox [value]=\"rowData\" [pSelectableRow]=\"rowData\"></p-tableCheckbox>\n </td>\n <td\n [style.width]=\"col['width']\"\n *ngFor=\"let col of searchGridFields\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\"\n >\n <ng-container *ngSwitchCase=\"'Boolean'\">\n <ng-container *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getBooleanLabel(rowData, col.name, col.optionsLabel) }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Date'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate: col.calendarLocaleOptions?.dateFormat || \"L\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'DateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Time'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedTime: col.calendarLocaleOptions?.dateFormat || \"LTS\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedNumber: getScale(col.scale) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedCurrency | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Number'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getNumberMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container\n *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\"\n >\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"col.mask && col.mask()\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name))\">\n <span>{{ getFieldValue(rowData, col.name) | sMaskFormatter: col.mask() }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(col.mask && col.mask())\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name)); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{\n searchTotalRecordsLabel ||\n searchTotalRecords?.toString() + (searchTotalRecords === 1 ? recordLabel : recordsLabel)\n }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel\"\n (onClick)=\"select()\"\n pTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\"\n [disabled]=\"!selected?.length\"\n ></s-button>\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel\"\n (onClick)=\"hideDialog()\"\n pTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\"\n ></s-button>\n </p-footer>\n</p-dialog>\n\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">{{ emptyFieldLabel }}</span>\n</ng-template>\n",
|
|
2543
|
+
template: "<div [ngClass]=\"{ inputgroup: showSearch }\">\n <p-autoComplete\n #autocomplete\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"true\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"lazyLoadLookup($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [emptyMessage]=\"lookupEmptyMessage\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\"\n >\n <ng-template let-item pTemplate=\"selectedItem\">\n <span class=\"ui-autocomplete-token-label ng-tns-c65-43 ng-star-inserted\"\n [pTooltip]=\"lookupDisplayFieldTooltip ? item[lookupDisplayField] : null\"\n tooltipPosition=\"top\">\n {{item[lookupDisplayField]}}\n </span>\n </ng-template>\n </p-autoComplete>\n\n <button\n *ngIf=\"showSearch\"\n pButton\n type=\"button\"\n icon=\"fa fa-search\"\n class=\"button-addon\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\"\n ></button>\n</div>\n\n<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog\n>\n <div *ngIf=\"dialogVisible\" class=\"s-lookup-modal-container\">\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter\"\n [@collapseContent]=\"collapsed \n ? { value: 'hidden', params: { transitionParams: transitionOptions } }\n : { value: 'visible', params: { transitionParams: transitionOptions } }\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form [formGroup]=\"formGroupDialog\" novalidate autocomplete=\"off\">\n <div *ngIf=\"!collapsed\"\n [@childCollapseContent]=\"collapsed\n ? { value: ':leave', params: { transitionParams: transitionOptions } }\n : { value: ':enter', params: { transitionParams: transitionOptions } }\"\n class=\"form-content\">\n <div class=\"filter-title sds-section-title\">{{ filterTitle }}</div>\n <div class=\"form-fields\">\n <s-dynamic-form [fields]=\"searchFields\" [form]=\"formGroupDialog\"></s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"filterLabel\"\n (onClick)=\"search()\"\n pTooltip=\"(ALT + SHIFT + F)\"\n showDelay=\"500\"\n ></s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel\"\n (onClick)=\"clear()\"\n priority=\"link\"\n pTooltip=\"(ALT + SHIFT + L)\"\n showDelay=\"500\"\n ></s-button>\n </div>\n </div>\n </div>\n </form>\n </div>\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button [id]=\"id + '-filter-toggle-button'\" type=\"button\" (click)=\"filterToggle()\">\n <span class=\"fa\" [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\"></span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div class=\"content\" [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\"\n ></s-empty-state>\n\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n *sLoadingState=\"loading\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngIf=\"multiple\" style=\"width: 50px\" />\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngIf=\"multiple\" style=\"width: 50px\">\n <s-table-header-checkbox [useAllObject]=\"lookupRowProps ? false : true\" [rowProps]=\"lookupRowProps\"></s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\"\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon [field]=\"col.name\" *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\"></p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns let-rowIndex=\"rowIndex\">\n <tr\n sNavigation\n [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n sDoubleClick (onDoubleClick)=\"onTableRowDoubleClick(rowData)\"\n >\n <td *ngIf=\"multiple\" style=\"width: 50px\" tabindex=\"0\">\n <p-tableCheckbox [value]=\"rowData\" [pSelectableRow]=\"rowData\"></p-tableCheckbox>\n </td>\n <td\n [style.width]=\"col['width']\"\n *ngFor=\"let col of searchGridFields\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\"\n >\n <ng-container *ngSwitchCase=\"'Boolean'\">\n <ng-container *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getBooleanLabel(rowData, col.name, col.optionsLabel) }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Date'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate: col.calendarLocaleOptions?.dateFormat || \"L\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'DateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'LocalDateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Time'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedTime: col.calendarLocaleOptions?.dateFormat || \"LTS\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedNumber: getScale(col.scale) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedCurrency | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Number'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getNumberMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container\n *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\"\n >\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"col.mask && col.mask()\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name))\">\n <span>{{ getFieldValue(rowData, col.name) | sMaskFormatter: col.mask() }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(col.mask && col.mask())\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name)); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{\n searchTotalRecordsLabel ||\n searchTotalRecords?.toString() + (searchTotalRecords === 1 ? recordLabel : recordsLabel)\n }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel\"\n (onClick)=\"select()\"\n pTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\"\n [disabled]=\"!selected?.length\"\n ></s-button>\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel\"\n (onClick)=\"hideDialog()\"\n pTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\"\n ></s-button>\n </p-footer>\n</p-dialog>\n\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">{{ emptyFieldLabel }}</span>\n</ng-template>\n",
|
|
2488
2544
|
providers: [
|
|
2489
2545
|
{
|
|
2490
2546
|
provide: forms.NG_VALUE_ACCESSOR,
|
|
@@ -2540,6 +2596,7 @@
|
|
|
2540
2596
|
DynamicType["Chips"] = "Chips";
|
|
2541
2597
|
DynamicType["Date"] = "Date";
|
|
2542
2598
|
DynamicType["DateTime"] = "DateTime";
|
|
2599
|
+
DynamicType["LocalDateTime"] = "LocalDateTime";
|
|
2543
2600
|
DynamicType["Double"] = "Double";
|
|
2544
2601
|
DynamicType["Enum"] = "Enum";
|
|
2545
2602
|
DynamicType["Fieldset"] = "Fieldset";
|
|
@@ -2610,6 +2667,7 @@
|
|
|
2610
2667
|
return new ChipsField(config);
|
|
2611
2668
|
case exports.DynamicType.Date:
|
|
2612
2669
|
case exports.DynamicType.DateTime:
|
|
2670
|
+
case exports.DynamicType.LocalDateTime:
|
|
2613
2671
|
case exports.DynamicType.Time:
|
|
2614
2672
|
return new CalendarField(config);
|
|
2615
2673
|
case exports.DynamicType.Double:
|
|
@@ -5114,6 +5172,10 @@
|
|
|
5114
5172
|
component.instance.showTime = true;
|
|
5115
5173
|
component.instance.showSeconds = true;
|
|
5116
5174
|
break;
|
|
5175
|
+
case exports.FieldType.LocalDateTime:
|
|
5176
|
+
component.instance.showTime = true;
|
|
5177
|
+
component.instance.showSeconds = true;
|
|
5178
|
+
break;
|
|
5117
5179
|
case exports.FieldType.Time:
|
|
5118
5180
|
component.instance.timeOnly = true;
|
|
5119
5181
|
component.instance.showSeconds = true;
|
|
@@ -5138,6 +5200,7 @@
|
|
|
5138
5200
|
return ChipsFieldComponent;
|
|
5139
5201
|
case exports.FieldType.Date:
|
|
5140
5202
|
case exports.FieldType.DateTime:
|
|
5203
|
+
case exports.FieldType.LocalDateTime:
|
|
5141
5204
|
case exports.FieldType.Time:
|
|
5142
5205
|
return CalendarFieldComponent;
|
|
5143
5206
|
case exports.FieldType.Double:
|
|
@@ -5540,6 +5603,7 @@
|
|
|
5540
5603
|
CustomFieldType["Double"] = "Double";
|
|
5541
5604
|
CustomFieldType["Date"] = "Date";
|
|
5542
5605
|
CustomFieldType["DateTime"] = "DateTime";
|
|
5606
|
+
CustomFieldType["LocalDateTime"] = "LocalDateTime";
|
|
5543
5607
|
CustomFieldType["Time"] = "Time";
|
|
5544
5608
|
CustomFieldType["Money"] = "Money";
|
|
5545
5609
|
CustomFieldType["Blob"] = "Blob";
|
|
@@ -5616,6 +5680,7 @@
|
|
|
5616
5680
|
defaults[CustomFieldType.Money] = {};
|
|
5617
5681
|
defaults[CustomFieldType.Date] = {};
|
|
5618
5682
|
defaults[CustomFieldType.DateTime] = {};
|
|
5683
|
+
defaults[CustomFieldType.LocalDateTime] = {};
|
|
5619
5684
|
defaults[CustomFieldType.Time] = {};
|
|
5620
5685
|
defaults[CustomFieldType.Blob] = {};
|
|
5621
5686
|
defaults[CustomFieldType.Enum] = {};
|
|
@@ -5639,6 +5704,7 @@
|
|
|
5639
5704
|
CustomFieldType.Money,
|
|
5640
5705
|
CustomFieldType.Date,
|
|
5641
5706
|
CustomFieldType.DateTime,
|
|
5707
|
+
CustomFieldType.LocalDateTime,
|
|
5642
5708
|
CustomFieldType.Time
|
|
5643
5709
|
];
|
|
5644
5710
|
var validators = [];
|
|
@@ -5709,6 +5775,9 @@
|
|
|
5709
5775
|
case exports.FieldType.DateTime:
|
|
5710
5776
|
parsedValues[name] = moment$3(value).toDate();
|
|
5711
5777
|
break;
|
|
5778
|
+
case exports.FieldType.LocalDateTime:
|
|
5779
|
+
parsedValues[name] = moment$3(value, "YYYY-MM-DD[T]HH:mm:ss.SSS").toDate();
|
|
5780
|
+
break;
|
|
5712
5781
|
case exports.FieldType.Time:
|
|
5713
5782
|
parsedValues[name] = moment$3(value, "HH:mm:ss").toDate();
|
|
5714
5783
|
break;
|
|
@@ -5748,6 +5817,9 @@
|
|
|
5748
5817
|
case exports.FieldType.DateTime:
|
|
5749
5818
|
value = moment$3(value).format();
|
|
5750
5819
|
break;
|
|
5820
|
+
case exports.FieldType.LocalDateTime:
|
|
5821
|
+
value = moment$3(value).format("YYYY-MM-DD[T]HH:mm:ss.SSS");
|
|
5822
|
+
break;
|
|
5751
5823
|
case exports.FieldType.Time:
|
|
5752
5824
|
value = moment$3(value).format("HH:mm:ss");
|
|
5753
5825
|
break;
|
|
@@ -7888,6 +7960,8 @@
|
|
|
7888
7960
|
MetaType["DATE"] = "DATE";
|
|
7889
7961
|
// DateTime
|
|
7890
7962
|
MetaType["DATETIME"] = "DATETIME";
|
|
7963
|
+
// DateTime
|
|
7964
|
+
MetaType["LOCALDATETIME"] = "LOCALDATETIME";
|
|
7891
7965
|
// Time
|
|
7892
7966
|
MetaType["TIME"] = "TIME";
|
|
7893
7967
|
// Boolean
|