@skyux/inline-form 5.0.0 → 5.5.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/bundles/skyux-inline-form.umd.js +74 -84
- package/documentation.json +69 -33
- package/esm2015/index.js +10 -0
- package/esm2015/index.js.map +1 -0
- package/esm2015/lib/modules/inline-form/animations/slide-dissolve.js +26 -0
- package/esm2015/lib/modules/inline-form/animations/slide-dissolve.js.map +1 -0
- package/esm2015/lib/modules/inline-form/inline-form-adapter.service.js +62 -0
- package/esm2015/lib/modules/inline-form/inline-form-adapter.service.js.map +1 -0
- package/esm2015/lib/modules/inline-form/inline-form.component.js +227 -0
- package/esm2015/lib/modules/inline-form/inline-form.component.js.map +1 -0
- package/esm2015/lib/modules/inline-form/inline-form.module.js +19 -0
- package/esm2015/lib/modules/inline-form/inline-form.module.js.map +1 -0
- package/esm2015/lib/modules/inline-form/types/inline-form-button-action.js +2 -0
- package/esm2015/lib/modules/inline-form/types/inline-form-button-action.js.map +1 -0
- package/esm2015/lib/modules/inline-form/types/inline-form-button-config.js +2 -0
- package/esm2015/lib/modules/inline-form/types/inline-form-button-config.js.map +1 -0
- package/esm2015/lib/modules/inline-form/types/inline-form-button-layout.js +9 -0
- package/esm2015/lib/modules/inline-form/types/inline-form-button-layout.js.map +1 -0
- package/esm2015/lib/modules/inline-form/types/inline-form-close-args.js +2 -0
- package/esm2015/lib/modules/inline-form/types/inline-form-close-args.js.map +1 -0
- package/esm2015/lib/modules/inline-form/types/inline-form-config.js +2 -0
- package/esm2015/lib/modules/inline-form/types/inline-form-config.js.map +1 -0
- package/esm2015/lib/modules/shared/sky-inline-form-resources.module.js +50 -0
- package/esm2015/lib/modules/shared/sky-inline-form-resources.module.js.map +1 -0
- package/esm2015/skyux-inline-form.js +2 -2
- package/esm2015/skyux-inline-form.js.map +1 -0
- package/fesm2015/skyux-inline-form.js +69 -77
- package/fesm2015/skyux-inline-form.js.map +1 -1
- package/index.d.ts +7 -0
- package/{modules → lib/modules}/inline-form/animations/slide-dissolve.d.ts +0 -0
- package/{modules → lib/modules}/inline-form/inline-form-adapter.service.d.ts +0 -0
- package/{modules → lib/modules}/inline-form/inline-form.component.d.ts +0 -0
- package/{modules → lib/modules}/inline-form/inline-form.module.d.ts +0 -0
- package/{modules → lib/modules}/inline-form/types/inline-form-button-action.d.ts +0 -0
- package/{modules → lib/modules}/inline-form/types/inline-form-button-config.d.ts +0 -0
- package/{modules → lib/modules}/inline-form/types/inline-form-button-layout.d.ts +0 -0
- package/{modules → lib/modules}/inline-form/types/inline-form-close-args.d.ts +0 -0
- package/{modules → lib/modules}/inline-form/types/inline-form-config.d.ts +0 -0
- package/{modules → lib/modules}/shared/sky-inline-form-resources.module.d.ts +0 -0
- package/package.json +20 -6
- package/skyux-inline-form.d.ts +1 -1
- package/bundles/skyux-inline-form.umd.js.map +0 -1
- package/esm2015/modules/inline-form/animations/slide-dissolve.js +0 -30
- package/esm2015/modules/inline-form/inline-form-adapter.service.js +0 -62
- package/esm2015/modules/inline-form/inline-form.component.js +0 -227
- package/esm2015/modules/inline-form/inline-form.module.js +0 -30
- package/esm2015/modules/inline-form/types/inline-form-button-action.js +0 -2
- package/esm2015/modules/inline-form/types/inline-form-button-config.js +0 -2
- package/esm2015/modules/inline-form/types/inline-form-button-layout.js +0 -9
- package/esm2015/modules/inline-form/types/inline-form-close-args.js +0 -2
- package/esm2015/modules/inline-form/types/inline-form-config.js +0 -2
- package/esm2015/modules/shared/sky-inline-form-resources.module.js +0 -41
- package/esm2015/public-api.js +0 -10
- package/public-api.d.ts +0 -7
|
@@ -2,40 +2,36 @@ import * as i4 from '@angular/common';
|
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { Injectable, EventEmitter, Component, ChangeDetectionStrategy, Input, Output, NgModule } from '@angular/core';
|
|
5
|
+
import * as i3 from '@skyux/core';
|
|
6
|
+
import * as i2 from '@skyux/i18n';
|
|
7
|
+
import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
|
|
5
8
|
import { zip } from 'rxjs';
|
|
6
9
|
import { take } from 'rxjs/operators';
|
|
7
10
|
import { trigger, transition, query, style, animate, group } from '@angular/animations';
|
|
8
|
-
import * as i2 from '@skyux/i18n';
|
|
9
|
-
import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
|
|
10
|
-
import * as i3 from '@skyux/core';
|
|
11
11
|
|
|
12
12
|
const skySlideDissolve = trigger('skySlideDissolve', [
|
|
13
13
|
transition('* <=> *', [
|
|
14
14
|
// Expand animations
|
|
15
15
|
query('.sky-slide-dissolve-last:enter', [
|
|
16
16
|
style({ height: 0, opacity: 0 }),
|
|
17
|
-
animate('200ms ease-in', style({ height: '*', opacity: 0 }))
|
|
17
|
+
animate('200ms ease-in', style({ height: '*', opacity: 0 })),
|
|
18
18
|
], { optional: true }),
|
|
19
19
|
query('.sky-slide-dissolve-last:enter', [
|
|
20
20
|
style({ opacity: 0 }),
|
|
21
|
-
animate('200ms ease-in', style({ opacity: 1 }))
|
|
21
|
+
animate('200ms ease-in', style({ opacity: 1 })),
|
|
22
22
|
], { optional: true }),
|
|
23
23
|
// Collapse animations
|
|
24
24
|
// The expanded content should fade out immediately to prevent
|
|
25
25
|
// any overlap with the read-only content that's returning to the screen.
|
|
26
|
-
query('.sky-slide-dissolve-last:leave', [
|
|
27
|
-
animate('0ms', style({ opacity: 0 }))
|
|
28
|
-
], { optional: true }),
|
|
26
|
+
query('.sky-slide-dissolve-last:leave', [animate('0ms', style({ opacity: 0 }))], { optional: true }),
|
|
29
27
|
group([
|
|
30
28
|
query('.sky-slide-dissolve-first:enter', [
|
|
31
29
|
style({ opacity: 0, height: 0 }),
|
|
32
|
-
animate('100ms ease-in', style({ opacity: 1, height: '*' }))
|
|
30
|
+
animate('100ms ease-in', style({ opacity: 1, height: '*' })),
|
|
33
31
|
], { optional: true }),
|
|
34
|
-
query('.sky-slide-dissolve-last:leave', [
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
])
|
|
38
|
-
])
|
|
32
|
+
query('.sky-slide-dissolve-last:leave', [animate('200ms ease-in', style({ height: 0 }))], { optional: true }),
|
|
33
|
+
]),
|
|
34
|
+
]),
|
|
39
35
|
]);
|
|
40
36
|
|
|
41
37
|
var SkyInlineFormButtonLayout;
|
|
@@ -51,15 +47,15 @@ var SkyInlineFormButtonLayout;
|
|
|
51
47
|
const SKY_TABBABLE_SELECTOR = [
|
|
52
48
|
'a[href]',
|
|
53
49
|
'area[href]',
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
50
|
+
"input:not([disabled]):not([tabindex='-1'])",
|
|
51
|
+
"button:not([disabled]):not([tabindex='-1'])",
|
|
52
|
+
"select:not([disabled]):not([tabindex='-1'])",
|
|
53
|
+
"textarea:not([disabled]):not([tabindex='-1'])",
|
|
58
54
|
'iframe',
|
|
59
55
|
'object',
|
|
60
56
|
'embed',
|
|
61
|
-
|
|
62
|
-
'*[contenteditable=true]'
|
|
57
|
+
"*[tabindex]:not([tabindex='-1'])",
|
|
58
|
+
'*[contenteditable=true]',
|
|
63
59
|
].join(', ');
|
|
64
60
|
/* tslint:enable */
|
|
65
61
|
/**
|
|
@@ -101,9 +97,9 @@ class SkyInlineFormAdapterService {
|
|
|
101
97
|
}
|
|
102
98
|
}
|
|
103
99
|
}
|
|
104
|
-
SkyInlineFormAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
105
|
-
SkyInlineFormAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
100
|
+
SkyInlineFormAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
101
|
+
SkyInlineFormAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormAdapterService });
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormAdapterService, decorators: [{
|
|
107
103
|
type: Injectable
|
|
108
104
|
}] });
|
|
109
105
|
|
|
@@ -163,7 +159,7 @@ class SkyInlineFormComponent {
|
|
|
163
159
|
}
|
|
164
160
|
closeInlineForm(event) {
|
|
165
161
|
const args = {
|
|
166
|
-
reason: event.action
|
|
162
|
+
reason: event.action,
|
|
167
163
|
};
|
|
168
164
|
this.close.emit(args);
|
|
169
165
|
}
|
|
@@ -179,7 +175,9 @@ class SkyInlineFormComponent {
|
|
|
179
175
|
});
|
|
180
176
|
}
|
|
181
177
|
getPresetButtons() {
|
|
182
|
-
let buttonType = this.config
|
|
178
|
+
let buttonType = this.config
|
|
179
|
+
? this.config.buttonLayout
|
|
180
|
+
: SkyInlineFormButtonLayout.DoneCancel;
|
|
183
181
|
let promise;
|
|
184
182
|
switch (buttonType) {
|
|
185
183
|
/* istanbul ignore next */
|
|
@@ -193,13 +191,13 @@ class SkyInlineFormComponent {
|
|
|
193
191
|
{
|
|
194
192
|
text: values[0],
|
|
195
193
|
styleType: 'primary',
|
|
196
|
-
action: 'done'
|
|
194
|
+
action: 'done',
|
|
197
195
|
},
|
|
198
196
|
{
|
|
199
197
|
text: values[1],
|
|
200
198
|
styleType: 'link',
|
|
201
|
-
action: 'cancel'
|
|
202
|
-
}
|
|
199
|
+
action: 'cancel',
|
|
200
|
+
},
|
|
203
201
|
]);
|
|
204
202
|
});
|
|
205
203
|
});
|
|
@@ -213,13 +211,13 @@ class SkyInlineFormComponent {
|
|
|
213
211
|
{
|
|
214
212
|
text: values[0],
|
|
215
213
|
styleType: 'primary',
|
|
216
|
-
action: 'save'
|
|
214
|
+
action: 'save',
|
|
217
215
|
},
|
|
218
216
|
{
|
|
219
217
|
text: values[1],
|
|
220
218
|
styleType: 'link',
|
|
221
|
-
action: 'cancel'
|
|
222
|
-
}
|
|
219
|
+
action: 'cancel',
|
|
220
|
+
},
|
|
223
221
|
]);
|
|
224
222
|
});
|
|
225
223
|
});
|
|
@@ -233,18 +231,18 @@ class SkyInlineFormComponent {
|
|
|
233
231
|
{
|
|
234
232
|
text: values[0],
|
|
235
233
|
styleType: 'primary',
|
|
236
|
-
action: 'done'
|
|
234
|
+
action: 'done',
|
|
237
235
|
},
|
|
238
236
|
{
|
|
239
237
|
text: values[1],
|
|
240
238
|
styleType: 'default',
|
|
241
|
-
action: 'delete'
|
|
239
|
+
action: 'delete',
|
|
242
240
|
},
|
|
243
241
|
{
|
|
244
242
|
text: values[2],
|
|
245
243
|
styleType: 'link',
|
|
246
|
-
action: 'cancel'
|
|
247
|
-
}
|
|
244
|
+
action: 'cancel',
|
|
245
|
+
},
|
|
248
246
|
]);
|
|
249
247
|
});
|
|
250
248
|
});
|
|
@@ -258,18 +256,18 @@ class SkyInlineFormComponent {
|
|
|
258
256
|
{
|
|
259
257
|
text: values[0],
|
|
260
258
|
styleType: 'primary',
|
|
261
|
-
action: 'save'
|
|
259
|
+
action: 'save',
|
|
262
260
|
},
|
|
263
261
|
{
|
|
264
262
|
text: values[1],
|
|
265
263
|
styleType: 'default',
|
|
266
|
-
action: 'delete'
|
|
264
|
+
action: 'delete',
|
|
267
265
|
},
|
|
268
266
|
{
|
|
269
267
|
text: values[2],
|
|
270
268
|
styleType: 'link',
|
|
271
|
-
action: 'cancel'
|
|
272
|
-
}
|
|
269
|
+
action: 'cancel',
|
|
270
|
+
},
|
|
273
271
|
]);
|
|
274
272
|
});
|
|
275
273
|
});
|
|
@@ -286,7 +284,7 @@ class SkyInlineFormComponent {
|
|
|
286
284
|
action: config.action,
|
|
287
285
|
disabled: config.disabled,
|
|
288
286
|
styleType: styleType,
|
|
289
|
-
text: config.text
|
|
287
|
+
text: config.text,
|
|
290
288
|
});
|
|
291
289
|
});
|
|
292
290
|
return buttons;
|
|
@@ -297,21 +295,17 @@ class SkyInlineFormComponent {
|
|
|
297
295
|
config.buttons.length > 0);
|
|
298
296
|
}
|
|
299
297
|
}
|
|
300
|
-
SkyInlineFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
301
|
-
SkyInlineFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
302
|
-
|
|
303
|
-
], ngImport: i0, template: "<div\n [@skySlideDissolve]=\"showForm\"\n>\n\n <div *ngIf=\"!showForm\"\n class=\"sky-slide-dissolve-first\"\n >\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"template && showForm\"\n class=\"sky-slide-dissolve-last\"\n >\n <div\n class=\"sky-inline-form sky-shadow sky-box sky-elevation-3\"\n >\n <div\n class=\"sky-inline-form-content\"\n >\n <ng-container\n [ngTemplateOutlet]=\"template\"\n >\n </ng-container>\n </div>\n <div\n class=\"sky-inline-form-footer\"\n >\n <button *ngFor=\"let button of buttons\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n type=\"button\"\n [disabled]=\"(button.disabled) ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled' : button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n </div>\n </div>\n </div>\n\n</div>\n", styles: [".sky-inline-form{background:#eeeeef;border:1px solid #cdcfd2;padding:10px;width:100%}.sky-inline-form .sky-inline-form-footer{margin-top:20px}.sky-inline-form .sky-inline-form-footer button{margin:0 5px 0 0}:host-context(.sky-theme-modern) .sky-inline-form{background-color:#fff;border:none;padding:15px}:host-context(.sky-theme-modern) .sky-inline-form .sky-inline-form-footer{margin-top:30px}:host-context(.sky-theme-modern) .sky-inline-form .sky-inline-form-footer button{margin-right:10px}.sky-theme-modern .sky-inline-form{background-color:#fff;border:none;padding:15px}.sky-theme-modern .sky-inline-form .sky-inline-form-footer{margin-top:30px}.sky-theme-modern .sky-inline-form .sky-inline-form-footer button{margin-right:10px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-inline-form{background-color:#232427}.sky-theme-modern.sky-theme-mode-dark .sky-inline-form{background-color:#232427}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [skySlideDissolve], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
304
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyInlineFormComponent, decorators: [{
|
|
298
|
+
SkyInlineFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormComponent, deps: [{ token: SkyInlineFormAdapterService }, { token: i0.ElementRef }, { token: i2.SkyLibResourcesService }, { token: i3.SkyAppWindowRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
299
|
+
SkyInlineFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyInlineFormComponent, selector: "sky-inline-form", inputs: { config: "config", template: "template", showForm: "showForm" }, outputs: { close: "close" }, providers: [SkyInlineFormAdapterService], ngImport: i0, template: "<div [@skySlideDissolve]=\"showForm\">\n <div *ngIf=\"!showForm\" class=\"sky-slide-dissolve-first\">\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"template && showForm\" class=\"sky-slide-dissolve-last\">\n <div class=\"sky-inline-form sky-shadow sky-box sky-elevation-3\">\n <div class=\"sky-inline-form-content\">\n <ng-container [ngTemplateOutlet]=\"template\"> </ng-container>\n </div>\n <div class=\"sky-inline-form-footer\">\n <button\n *ngFor=\"let button of buttons\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n type=\"button\"\n [disabled]=\"button.disabled ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled': button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sky-inline-form{background:#eeeeef;border:1px solid #cdcfd2;padding:10px;width:100%}.sky-inline-form .sky-inline-form-footer{margin-top:20px}.sky-inline-form .sky-inline-form-footer button{margin:0 5px 0 0}:host-context(.sky-theme-modern) .sky-inline-form{background-color:#fff;border:none;padding:15px}:host-context(.sky-theme-modern) .sky-inline-form .sky-inline-form-footer{margin-top:30px}:host-context(.sky-theme-modern) .sky-inline-form .sky-inline-form-footer button{margin-right:10px}.sky-theme-modern .sky-inline-form{background-color:#fff;border:none;padding:15px}.sky-theme-modern .sky-inline-form .sky-inline-form-footer{margin-top:30px}.sky-theme-modern .sky-inline-form .sky-inline-form-footer button{margin-right:10px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-inline-form{background-color:#232427}.sky-theme-modern.sky-theme-mode-dark .sky-inline-form{background-color:#232427}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [skySlideDissolve], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
300
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormComponent, decorators: [{
|
|
305
301
|
type: Component,
|
|
306
302
|
args: [{
|
|
307
303
|
selector: 'sky-inline-form',
|
|
308
304
|
templateUrl: './inline-form.component.html',
|
|
309
305
|
styleUrls: ['./inline-form.component.scss'],
|
|
310
306
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
311
|
-
providers: [
|
|
312
|
-
|
|
313
|
-
],
|
|
314
|
-
animations: [skySlideDissolve]
|
|
307
|
+
providers: [SkyInlineFormAdapterService],
|
|
308
|
+
animations: [skySlideDissolve],
|
|
315
309
|
}]
|
|
316
310
|
}], ctorParameters: function () { return [{ type: SkyInlineFormAdapterService }, { type: i0.ElementRef }, { type: i2.SkyLibResourcesService }, { type: i3.SkyAppWindowRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { config: [{
|
|
317
311
|
type: Input
|
|
@@ -330,7 +324,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
|
330
324
|
* To update this file, simply rerun the command.
|
|
331
325
|
*/
|
|
332
326
|
const RESOURCES = {
|
|
333
|
-
'EN-US': {
|
|
327
|
+
'EN-US': {
|
|
328
|
+
skyux_inline_form_button_cancel: { message: 'Cancel' },
|
|
329
|
+
skyux_inline_form_button_delete: { message: 'Delete' },
|
|
330
|
+
skyux_inline_form_button_done: { message: 'Done' },
|
|
331
|
+
skyux_inline_form_button_save: { message: 'Save' },
|
|
332
|
+
},
|
|
334
333
|
};
|
|
335
334
|
class SkyInlineFormResourcesProvider {
|
|
336
335
|
getString(localeInfo, name) {
|
|
@@ -342,47 +341,40 @@ class SkyInlineFormResourcesProvider {
|
|
|
342
341
|
*/
|
|
343
342
|
class SkyInlineFormResourcesModule {
|
|
344
343
|
}
|
|
345
|
-
SkyInlineFormResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
346
|
-
SkyInlineFormResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
347
|
-
SkyInlineFormResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
344
|
+
SkyInlineFormResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
345
|
+
SkyInlineFormResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormResourcesModule, exports: [SkyI18nModule] });
|
|
346
|
+
SkyInlineFormResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormResourcesModule, providers: [
|
|
347
|
+
{
|
|
348
348
|
provide: SKY_LIB_RESOURCES_PROVIDERS,
|
|
349
349
|
useClass: SkyInlineFormResourcesProvider,
|
|
350
|
-
multi: true
|
|
351
|
-
}
|
|
352
|
-
|
|
350
|
+
multi: true,
|
|
351
|
+
},
|
|
352
|
+
], imports: [SkyI18nModule] });
|
|
353
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormResourcesModule, decorators: [{
|
|
353
354
|
type: NgModule,
|
|
354
355
|
args: [{
|
|
355
356
|
exports: [SkyI18nModule],
|
|
356
|
-
providers: [
|
|
357
|
+
providers: [
|
|
358
|
+
{
|
|
357
359
|
provide: SKY_LIB_RESOURCES_PROVIDERS,
|
|
358
360
|
useClass: SkyInlineFormResourcesProvider,
|
|
359
|
-
multi: true
|
|
360
|
-
}
|
|
361
|
+
multi: true,
|
|
362
|
+
},
|
|
363
|
+
],
|
|
361
364
|
}]
|
|
362
365
|
}] });
|
|
363
366
|
|
|
364
367
|
class SkyInlineFormModule {
|
|
365
368
|
}
|
|
366
|
-
SkyInlineFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
367
|
-
SkyInlineFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
CommonModule,
|
|
371
|
-
SkyInlineFormResourcesModule
|
|
372
|
-
]] });
|
|
373
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyInlineFormModule, decorators: [{
|
|
369
|
+
SkyInlineFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
370
|
+
SkyInlineFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormModule, declarations: [SkyInlineFormComponent], imports: [CommonModule, SkyInlineFormResourcesModule], exports: [SkyInlineFormComponent] });
|
|
371
|
+
SkyInlineFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormModule, imports: [[CommonModule, SkyInlineFormResourcesModule]] });
|
|
372
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyInlineFormModule, decorators: [{
|
|
374
373
|
type: NgModule,
|
|
375
374
|
args: [{
|
|
376
|
-
declarations: [
|
|
377
|
-
|
|
378
|
-
],
|
|
379
|
-
imports: [
|
|
380
|
-
CommonModule,
|
|
381
|
-
SkyInlineFormResourcesModule
|
|
382
|
-
],
|
|
383
|
-
exports: [
|
|
384
|
-
SkyInlineFormComponent
|
|
385
|
-
]
|
|
375
|
+
declarations: [SkyInlineFormComponent],
|
|
376
|
+
imports: [CommonModule, SkyInlineFormResourcesModule],
|
|
377
|
+
exports: [SkyInlineFormComponent],
|
|
386
378
|
}]
|
|
387
379
|
}] });
|
|
388
380
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-inline-form.js","sources":["../../../projects/inline-form/src/modules/inline-form/animations/slide-dissolve.ts","../../../projects/inline-form/src/modules/inline-form/types/inline-form-button-layout.ts","../../../projects/inline-form/src/modules/inline-form/inline-form-adapter.service.ts","../../../projects/inline-form/src/modules/inline-form/inline-form.component.ts","../../../projects/inline-form/src/modules/inline-form/inline-form.component.html","../../../projects/inline-form/src/modules/shared/sky-inline-form-resources.module.ts","../../../projects/inline-form/src/modules/inline-form/inline-form.module.ts","../../../projects/inline-form/src/skyux-inline-form.ts"],"sourcesContent":["import {\n animate,\n AnimationTriggerMetadata,\n group,\n query,\n style,\n transition,\n trigger\n} from '@angular/animations';\n\nexport const skySlideDissolve: AnimationTriggerMetadata = trigger('skySlideDissolve', [\n transition('* <=> *', [\n\n // Expand animations\n query('.sky-slide-dissolve-last:enter', [\n style({ height: 0, opacity: 0 }),\n animate('200ms ease-in', style({ height: '*', opacity: 0 }))\n ], { optional: true }),\n query('.sky-slide-dissolve-last:enter', [\n style({ opacity: 0 }),\n animate('200ms ease-in', style({ opacity: 1 }))\n ], { optional: true }),\n\n // Collapse animations\n // The expanded content should fade out immediately to prevent\n // any overlap with the read-only content that's returning to the screen.\n query('.sky-slide-dissolve-last:leave', [\n animate('0ms', style({ opacity: 0 }))\n ], { optional: true }),\n\n group([\n query('.sky-slide-dissolve-first:enter', [\n style({ opacity: 0, height: 0 }),\n animate('100ms ease-in', style({ opacity: 1, height: '*' }))\n ], { optional: true }),\n query('.sky-slide-dissolve-last:leave', [\n animate('200ms ease-in', style({ height: 0 }))\n ], { optional: true })\n\n ])\n ])\n]);\n","export enum SkyInlineFormButtonLayout {\n Custom = 0,\n DoneCancel = 1,\n DoneDeleteCancel = 2,\n SaveCancel = 3,\n SaveDeleteCancel = 4\n}\n","import {\n ElementRef,\n Injectable\n} from '@angular/core';\n\n/* tslint:disable */\nconst SKY_TABBABLE_SELECTOR = [\n 'a[href]',\n 'area[href]',\n 'input:not([disabled]):not([tabindex=\\'-1\\'])',\n 'button:not([disabled]):not([tabindex=\\'-1\\'])',\n 'select:not([disabled]):not([tabindex=\\'-1\\'])',\n 'textarea:not([disabled]):not([tabindex=\\'-1\\'])',\n 'iframe',\n 'object',\n 'embed',\n '*[tabindex]:not([tabindex=\\'-1\\'])',\n '*[contenteditable=true]'\n].join(', ');\n/* tslint:enable */\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyInlineFormAdapterService {\n\n public applyAutofocus(inlineFormElementRef: ElementRef): void {\n const inputWithAutofocus = inlineFormElementRef.nativeElement.querySelector('[autofocus]');\n\n if (inputWithAutofocus) {\n inputWithAutofocus.focus();\n } else {\n let focusEl: HTMLElement = inlineFormElementRef.nativeElement.querySelector('.sky-inline-form-content');\n let focusableChildren = this.loadFocusableChildren(focusEl);\n\n this.focusFirstElement(focusableChildren);\n }\n }\n\n private loadFocusableChildren(elem: HTMLElement): HTMLElement[] {\n const elements: Array<HTMLElement>\n = Array.prototype.slice.call(elem.querySelectorAll(SKY_TABBABLE_SELECTOR));\n\n return elements.filter((element) => {\n return this.isVisible(element);\n });\n }\n\n private isVisible(element: HTMLElement): boolean {\n const style = window.getComputedStyle(element);\n const isHidden = style.display === 'none' || style.visibility === 'hidden';\n if (isHidden) {\n return false;\n }\n\n /* istanbul ignore next */\n const hasBounds = !!(\n element.offsetWidth ||\n element.offsetHeight ||\n element.getClientRects().length\n );\n return hasBounds;\n }\n\n private focusFirstElement(list: Array<HTMLElement>): void {\n if (list.length > 0) {\n list[0].focus();\n }\n }\n}\n","import {\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef\n} from '@angular/core';\n\nimport {\n SkyAppWindowRef\n} from '@skyux/core';\n\nimport {\n SkyLibResourcesService\n} from '@skyux/i18n';\n\nimport {\n zip as observableZip\n} from 'rxjs';\n\nimport {\n take\n} from 'rxjs/operators';\n\nimport {\n skySlideDissolve\n} from './animations/slide-dissolve';\n\nimport {\n SkyInlineFormButtonConfig\n} from './types/inline-form-button-config';\n\nimport {\n SkyInlineFormButtonLayout\n} from './types/inline-form-button-layout';\n\nimport {\n SkyInlineFormCloseArgs\n} from './types/inline-form-close-args';\n\nimport {\n SkyInlineFormConfig\n} from './types/inline-form-config';\n\nimport {\n SkyInlineFormAdapterService\n} from './inline-form-adapter.service';\n\n/**\n * Renders form content in the current view instead of a separate modal.\n */\n@Component({\n selector: 'sky-inline-form',\n templateUrl: './inline-form.component.html',\n styleUrls: ['./inline-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n SkyInlineFormAdapterService\n ],\n animations: [ skySlideDissolve ]\n})\nexport class SkyInlineFormComponent implements OnInit, OnDestroy {\n\n /**\n * Specifies configuration options for the buttons to display with the inline form.\n * @required\n */\n @Input()\n public set config(value: SkyInlineFormConfig) {\n if (value !== this._config) {\n this._config = value;\n this.setupButtons();\n }\n }\n\n public get config(): SkyInlineFormConfig {\n return this._config;\n }\n\n /**\n * Specifies a template to use to instantiate the inline form.\n * @required\n */\n @Input()\n public template: TemplateRef<any>;\n\n /**\n * Indicates whether to display the inline form. Users can toggle between displaying\n * and hiding the inline form.\n * @default false\n */\n @Input()\n public set showForm(value: boolean) {\n this._showForm = value;\n\n /* istanbul ignore else */\n if (value) {\n // setTimeout() prevents applyAutofocus() from firing\n // until after *ngIf has added the form element to the DOM.\n this.skyAppWindowRef.nativeWindow.setTimeout(() => {\n this.adapter.applyAutofocus(this.elementRef);\n });\n }\n }\n\n public get showForm() {\n return this._showForm;\n }\n\n /**\n * Fires when users close the inline form.\n */\n @Output()\n public close = new EventEmitter<SkyInlineFormCloseArgs>();\n\n public buttons: SkyInlineFormButtonConfig[];\n\n private _config: SkyInlineFormConfig;\n\n private _showForm: boolean = false;\n\n constructor(\n private adapter: SkyInlineFormAdapterService,\n private elementRef: ElementRef,\n private resourcesService: SkyLibResourcesService,\n private skyAppWindowRef: SkyAppWindowRef,\n private changeDetectorRef: ChangeDetectorRef\n ) {}\n\n public ngOnInit(): void {\n this.setupButtons();\n }\n\n public ngOnDestroy(): void {\n this.close.complete();\n }\n\n public closeInlineForm(event: SkyInlineFormButtonConfig): void {\n const args: SkyInlineFormCloseArgs = {\n reason: event.action\n };\n this.close.emit(args);\n }\n\n private setupButtons(): void {\n if (this.isValidCustomConfig(this.config)) {\n this.buttons = this.getCustomButtons(this.config.buttons);\n this.changeDetectorRef.markForCheck();\n return;\n }\n\n this.getPresetButtons().then((buttons) => {\n this.buttons = buttons;\n this.changeDetectorRef.markForCheck();\n });\n }\n\n private getPresetButtons(): Promise<SkyInlineFormButtonConfig[]> {\n let buttonType =\n this.config ? this.config.buttonLayout : SkyInlineFormButtonLayout.DoneCancel;\n\n let promise: Promise<SkyInlineFormButtonConfig[]>;\n\n switch (buttonType) {\n /* istanbul ignore next */\n default:\n case SkyInlineFormButtonLayout.DoneCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_done'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>((resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'done'\n },\n {\n text: values[1],\n styleType: 'link',\n action: 'cancel'\n }\n ]);\n });\n });\n break;\n\n case SkyInlineFormButtonLayout.SaveCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_save'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>((resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'save'\n },\n {\n text: values[1],\n styleType: 'link',\n action: 'cancel'\n }\n ]);\n });\n });\n break;\n\n case SkyInlineFormButtonLayout.DoneDeleteCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_done'),\n this.resourcesService.getString('skyux_inline_form_button_delete'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>((resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'done'\n },\n {\n text: values[1],\n styleType: 'default',\n action: 'delete'\n },\n {\n text: values[2],\n styleType: 'link',\n action: 'cancel'\n }\n ]);\n });\n });\n break;\n\n case SkyInlineFormButtonLayout.SaveDeleteCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_save'),\n this.resourcesService.getString('skyux_inline_form_button_delete'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>((resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'save'\n },\n {\n text: values[1],\n styleType: 'default',\n action: 'delete'\n },\n {\n text: values[2],\n styleType: 'link',\n action: 'cancel'\n }\n ]);\n });\n });\n break;\n }\n\n return promise;\n }\n\n private getCustomButtons(buttonConfigs: SkyInlineFormButtonConfig[]): SkyInlineFormButtonConfig[] {\n const buttons: SkyInlineFormButtonConfig[] = [];\n\n buttonConfigs.forEach((config: SkyInlineFormButtonConfig) => {\n /* istanbul ignore next */\n const styleType = config.styleType || 'default';\n\n buttons.push({\n action: config.action,\n disabled: config.disabled,\n styleType: styleType,\n text: config.text\n } as SkyInlineFormButtonConfig);\n });\n\n return buttons;\n }\n\n private isValidCustomConfig(config: SkyInlineFormConfig): boolean {\n return (\n config &&\n config.buttonLayout === SkyInlineFormButtonLayout.Custom &&\n config.buttons.length > 0\n );\n }\n\n}\n","<div\n [@skySlideDissolve]=\"showForm\"\n>\n\n <div *ngIf=\"!showForm\"\n class=\"sky-slide-dissolve-first\"\n >\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"template && showForm\"\n class=\"sky-slide-dissolve-last\"\n >\n <div\n class=\"sky-inline-form sky-shadow sky-box sky-elevation-3\"\n >\n <div\n class=\"sky-inline-form-content\"\n >\n <ng-container\n [ngTemplateOutlet]=\"template\"\n >\n </ng-container>\n </div>\n <div\n class=\"sky-inline-form-footer\"\n >\n <button *ngFor=\"let button of buttons\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n type=\"button\"\n [disabled]=\"(button.disabled) ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled' : button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n </div>\n </div>\n </div>\n\n</div>\n","/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module modules/shared/sky-inline-form' schematic.\n * To update this file, simply rerun the command.\n */\n\nimport { NgModule } from '@angular/core';\nimport {\n getLibStringForLocale,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n SKY_LIB_RESOURCES_PROVIDERS\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\"skyux_inline_form_button_cancel\":{\"message\":\"Cancel\"},\"skyux_inline_form_button_delete\":{\"message\":\"Delete\"},\"skyux_inline_form_button_done\":{\"message\":\"Done\"},\"skyux_inline_form_button_save\":{\"message\":\"Save\"}},\n};\n\nexport class SkyInlineFormResourcesProvider implements SkyLibResourcesProvider {\n public getString(localeInfo: SkyAppLocaleInfo, name: string): string {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [{\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyInlineFormResourcesProvider,\n multi: true\n }]\n})\nexport class SkyInlineFormResourcesModule { }\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyInlineFormComponent\n} from './inline-form.component';\n\nimport {\n SkyInlineFormResourcesModule\n} from '../shared/sky-inline-form-resources.module';\n\n@NgModule({\n declarations: [\n SkyInlineFormComponent\n ],\n imports: [\n CommonModule,\n SkyInlineFormResourcesModule\n ],\n exports: [\n SkyInlineFormComponent\n ]\n})\nexport class SkyInlineFormModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["observableZip"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-inline-form.js","sources":["../../../../../libs/components/inline-form/src/lib/modules/inline-form/animations/slide-dissolve.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/types/inline-form-button-layout.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form-adapter.service.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form.component.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form.component.html","../../../../../libs/components/inline-form/src/lib/modules/shared/sky-inline-form-resources.module.ts","../../../../../libs/components/inline-form/src/lib/modules/inline-form/inline-form.module.ts","../../../../../libs/components/inline-form/src/skyux-inline-form.ts"],"sourcesContent":["import {\n animate,\n AnimationTriggerMetadata,\n group,\n query,\n style,\n transition,\n trigger,\n} from '@angular/animations';\n\nexport const skySlideDissolve: AnimationTriggerMetadata = trigger(\n 'skySlideDissolve',\n [\n transition('* <=> *', [\n // Expand animations\n query(\n '.sky-slide-dissolve-last:enter',\n [\n style({ height: 0, opacity: 0 }),\n animate('200ms ease-in', style({ height: '*', opacity: 0 })),\n ],\n { optional: true }\n ),\n query(\n '.sky-slide-dissolve-last:enter',\n [\n style({ opacity: 0 }),\n animate('200ms ease-in', style({ opacity: 1 })),\n ],\n { optional: true }\n ),\n\n // Collapse animations\n // The expanded content should fade out immediately to prevent\n // any overlap with the read-only content that's returning to the screen.\n query(\n '.sky-slide-dissolve-last:leave',\n [animate('0ms', style({ opacity: 0 }))],\n { optional: true }\n ),\n\n group([\n query(\n '.sky-slide-dissolve-first:enter',\n [\n style({ opacity: 0, height: 0 }),\n animate('100ms ease-in', style({ opacity: 1, height: '*' })),\n ],\n { optional: true }\n ),\n query(\n '.sky-slide-dissolve-last:leave',\n [animate('200ms ease-in', style({ height: 0 }))],\n { optional: true }\n ),\n ]),\n ]),\n ]\n);\n","export enum SkyInlineFormButtonLayout {\n Custom = 0,\n DoneCancel = 1,\n DoneDeleteCancel = 2,\n SaveCancel = 3,\n SaveDeleteCancel = 4,\n}\n","import { ElementRef, Injectable } from '@angular/core';\n\n/* tslint:disable */\nconst SKY_TABBABLE_SELECTOR = [\n 'a[href]',\n 'area[href]',\n \"input:not([disabled]):not([tabindex='-1'])\",\n \"button:not([disabled]):not([tabindex='-1'])\",\n \"select:not([disabled]):not([tabindex='-1'])\",\n \"textarea:not([disabled]):not([tabindex='-1'])\",\n 'iframe',\n 'object',\n 'embed',\n \"*[tabindex]:not([tabindex='-1'])\",\n '*[contenteditable=true]',\n].join(', ');\n/* tslint:enable */\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyInlineFormAdapterService {\n public applyAutofocus(inlineFormElementRef: ElementRef): void {\n const inputWithAutofocus =\n inlineFormElementRef.nativeElement.querySelector('[autofocus]');\n\n if (inputWithAutofocus) {\n inputWithAutofocus.focus();\n } else {\n let focusEl: HTMLElement =\n inlineFormElementRef.nativeElement.querySelector(\n '.sky-inline-form-content'\n );\n let focusableChildren = this.loadFocusableChildren(focusEl);\n\n this.focusFirstElement(focusableChildren);\n }\n }\n\n private loadFocusableChildren(elem: HTMLElement): HTMLElement[] {\n const elements: Array<HTMLElement> = Array.prototype.slice.call(\n elem.querySelectorAll(SKY_TABBABLE_SELECTOR)\n );\n\n return elements.filter((element) => {\n return this.isVisible(element);\n });\n }\n\n private isVisible(element: HTMLElement): boolean {\n const style = window.getComputedStyle(element);\n const isHidden = style.display === 'none' || style.visibility === 'hidden';\n if (isHidden) {\n return false;\n }\n\n /* istanbul ignore next */\n const hasBounds = !!(\n element.offsetWidth ||\n element.offsetHeight ||\n element.getClientRects().length\n );\n return hasBounds;\n }\n\n private focusFirstElement(list: Array<HTMLElement>): void {\n if (list.length > 0) {\n list[0].focus();\n }\n }\n}\n","import {\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\n\nimport { SkyAppWindowRef } from '@skyux/core';\n\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { zip as observableZip } from 'rxjs';\n\nimport { take } from 'rxjs/operators';\n\nimport { skySlideDissolve } from './animations/slide-dissolve';\n\nimport { SkyInlineFormButtonConfig } from './types/inline-form-button-config';\n\nimport { SkyInlineFormButtonLayout } from './types/inline-form-button-layout';\n\nimport { SkyInlineFormCloseArgs } from './types/inline-form-close-args';\n\nimport { SkyInlineFormConfig } from './types/inline-form-config';\n\nimport { SkyInlineFormAdapterService } from './inline-form-adapter.service';\n\n/**\n * Renders form content in the current view instead of a separate modal.\n */\n@Component({\n selector: 'sky-inline-form',\n templateUrl: './inline-form.component.html',\n styleUrls: ['./inline-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [SkyInlineFormAdapterService],\n animations: [skySlideDissolve],\n})\nexport class SkyInlineFormComponent implements OnInit, OnDestroy {\n /**\n * Specifies configuration options for the buttons to display with the inline form.\n * @required\n */\n @Input()\n public set config(value: SkyInlineFormConfig) {\n if (value !== this._config) {\n this._config = value;\n this.setupButtons();\n }\n }\n\n public get config(): SkyInlineFormConfig {\n return this._config;\n }\n\n /**\n * Specifies a template to use to instantiate the inline form.\n * @required\n */\n @Input()\n public template: TemplateRef<any>;\n\n /**\n * Indicates whether to display the inline form. Users can toggle between displaying\n * and hiding the inline form.\n * @default false\n */\n @Input()\n public set showForm(value: boolean) {\n this._showForm = value;\n\n /* istanbul ignore else */\n if (value) {\n // setTimeout() prevents applyAutofocus() from firing\n // until after *ngIf has added the form element to the DOM.\n this.skyAppWindowRef.nativeWindow.setTimeout(() => {\n this.adapter.applyAutofocus(this.elementRef);\n });\n }\n }\n\n public get showForm() {\n return this._showForm;\n }\n\n /**\n * Fires when users close the inline form.\n */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n public close = new EventEmitter<SkyInlineFormCloseArgs>();\n\n public buttons: SkyInlineFormButtonConfig[];\n\n private _config: SkyInlineFormConfig;\n\n private _showForm: boolean = false;\n\n constructor(\n private adapter: SkyInlineFormAdapterService,\n private elementRef: ElementRef,\n private resourcesService: SkyLibResourcesService,\n private skyAppWindowRef: SkyAppWindowRef,\n private changeDetectorRef: ChangeDetectorRef\n ) {}\n\n public ngOnInit(): void {\n this.setupButtons();\n }\n\n public ngOnDestroy(): void {\n this.close.complete();\n }\n\n public closeInlineForm(event: SkyInlineFormButtonConfig): void {\n const args: SkyInlineFormCloseArgs = {\n reason: event.action,\n };\n this.close.emit(args);\n }\n\n private setupButtons(): void {\n if (this.isValidCustomConfig(this.config)) {\n this.buttons = this.getCustomButtons(this.config.buttons);\n this.changeDetectorRef.markForCheck();\n return;\n }\n\n this.getPresetButtons().then((buttons) => {\n this.buttons = buttons;\n this.changeDetectorRef.markForCheck();\n });\n }\n\n private getPresetButtons(): Promise<SkyInlineFormButtonConfig[]> {\n let buttonType = this.config\n ? this.config.buttonLayout\n : SkyInlineFormButtonLayout.DoneCancel;\n\n let promise: Promise<SkyInlineFormButtonConfig[]>;\n\n switch (buttonType) {\n /* istanbul ignore next */\n default:\n case SkyInlineFormButtonLayout.DoneCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_done'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>(\n (resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'done',\n },\n {\n text: values[1],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n }\n );\n });\n break;\n\n case SkyInlineFormButtonLayout.SaveCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_save'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>(\n (resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'save',\n },\n {\n text: values[1],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n }\n );\n });\n break;\n\n case SkyInlineFormButtonLayout.DoneDeleteCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_done'),\n this.resourcesService.getString('skyux_inline_form_button_delete'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>(\n (resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'done',\n },\n {\n text: values[1],\n styleType: 'default',\n action: 'delete',\n },\n {\n text: values[2],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n }\n );\n });\n break;\n\n case SkyInlineFormButtonLayout.SaveDeleteCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_save'),\n this.resourcesService.getString('skyux_inline_form_button_delete'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>(\n (resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'save',\n },\n {\n text: values[1],\n styleType: 'default',\n action: 'delete',\n },\n {\n text: values[2],\n styleType: 'link',\n action: 'cancel',\n },\n ]);\n }\n );\n });\n break;\n }\n\n return promise;\n }\n\n private getCustomButtons(\n buttonConfigs: SkyInlineFormButtonConfig[]\n ): SkyInlineFormButtonConfig[] {\n const buttons: SkyInlineFormButtonConfig[] = [];\n\n buttonConfigs.forEach((config: SkyInlineFormButtonConfig) => {\n /* istanbul ignore next */\n const styleType = config.styleType || 'default';\n\n buttons.push({\n action: config.action,\n disabled: config.disabled,\n styleType: styleType,\n text: config.text,\n } as SkyInlineFormButtonConfig);\n });\n\n return buttons;\n }\n\n private isValidCustomConfig(config: SkyInlineFormConfig): boolean {\n return (\n config &&\n config.buttonLayout === SkyInlineFormButtonLayout.Custom &&\n config.buttons.length > 0\n );\n }\n}\n","<div [@skySlideDissolve]=\"showForm\">\n <div *ngIf=\"!showForm\" class=\"sky-slide-dissolve-first\">\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"template && showForm\" class=\"sky-slide-dissolve-last\">\n <div class=\"sky-inline-form sky-shadow sky-box sky-elevation-3\">\n <div class=\"sky-inline-form-content\">\n <ng-container [ngTemplateOutlet]=\"template\"> </ng-container>\n </div>\n <div class=\"sky-inline-form-footer\">\n <button\n *ngFor=\"let button of buttons\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n type=\"button\"\n [disabled]=\"button.disabled ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled': button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n </div>\n </div>\n </div>\n</div>\n","/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module modules/shared/sky-inline-form' schematic.\n * To update this file, simply rerun the command.\n */\n\nimport { NgModule } from '@angular/core';\nimport {\n getLibStringForLocale,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n SKY_LIB_RESOURCES_PROVIDERS,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n skyux_inline_form_button_cancel: { message: 'Cancel' },\n skyux_inline_form_button_delete: { message: 'Delete' },\n skyux_inline_form_button_done: { message: 'Done' },\n skyux_inline_form_button_save: { message: 'Save' },\n },\n};\n\nexport class SkyInlineFormResourcesProvider implements SkyLibResourcesProvider {\n public getString(localeInfo: SkyAppLocaleInfo, name: string): string {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyInlineFormResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyInlineFormResourcesModule {}\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { SkyInlineFormComponent } from './inline-form.component';\n\nimport { SkyInlineFormResourcesModule } from '../shared/sky-inline-form-resources.module';\n\n@NgModule({\n declarations: [SkyInlineFormComponent],\n imports: [CommonModule, SkyInlineFormResourcesModule],\n exports: [SkyInlineFormComponent],\n})\nexport class SkyInlineFormModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["observableZip"],"mappings":"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"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './lib/modules/inline-form/inline-form.module';
|
|
2
|
+
export * from './lib/modules/inline-form/types/inline-form-button-action';
|
|
3
|
+
export * from './lib/modules/inline-form/types/inline-form-button-config';
|
|
4
|
+
export * from './lib/modules/inline-form/types/inline-form-close-args';
|
|
5
|
+
export * from './lib/modules/inline-form/types/inline-form-config';
|
|
6
|
+
export * from './lib/modules/inline-form/types/inline-form-button-layout';
|
|
7
|
+
export { SkyInlineFormComponent as λ1 } from './lib/modules/inline-form/inline-form.component';
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,16 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/inline-form",
|
|
3
|
-
"version": "5.0.0",
|
|
3
|
+
"version": "5.5.0-beta.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/animations": "^12.2.
|
|
6
|
-
"@angular/common": "^12.2.
|
|
7
|
-
"@angular/core": "^12.2.
|
|
8
|
-
"@skyux/core": "
|
|
9
|
-
"@skyux/i18n": "
|
|
5
|
+
"@angular/animations": "^12.2.16",
|
|
6
|
+
"@angular/common": "^12.2.16",
|
|
7
|
+
"@angular/core": "^12.2.16",
|
|
8
|
+
"@skyux/core": "5.5.0-beta.0",
|
|
9
|
+
"@skyux/i18n": "5.5.0-beta.0"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"tslib": "^2.3.1"
|
|
13
13
|
},
|
|
14
|
+
"author": "Blackbaud, Inc.",
|
|
15
|
+
"keywords": [
|
|
16
|
+
"blackbaud",
|
|
17
|
+
"skyux"
|
|
18
|
+
],
|
|
19
|
+
"license": "MIT",
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "git+https://github.com/blackbaud/skyux.git"
|
|
23
|
+
},
|
|
24
|
+
"bugs": {
|
|
25
|
+
"url": "https://github.com/blackbaud/skyux/issues"
|
|
26
|
+
},
|
|
27
|
+
"homepage": "https://github.com/blackbaud/skyux#readme",
|
|
14
28
|
"main": "bundles/skyux-inline-form.umd.js",
|
|
15
29
|
"module": "fesm2015/skyux-inline-form.js",
|
|
16
30
|
"es2015": "fesm2015/skyux-inline-form.js",
|
package/skyux-inline-form.d.ts
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-inline-form.umd.js","sources":["../../../projects/inline-form/src/modules/inline-form/animations/slide-dissolve.ts","../../../projects/inline-form/src/modules/inline-form/types/inline-form-button-layout.ts","../../../projects/inline-form/src/modules/inline-form/inline-form-adapter.service.ts","../../../projects/inline-form/src/modules/inline-form/inline-form.component.ts","../../../projects/inline-form/src/modules/inline-form/inline-form.component.html","../../../projects/inline-form/src/modules/shared/sky-inline-form-resources.module.ts","../../../projects/inline-form/src/modules/inline-form/inline-form.module.ts","../../../projects/inline-form/src/skyux-inline-form.ts"],"sourcesContent":["import {\n animate,\n AnimationTriggerMetadata,\n group,\n query,\n style,\n transition,\n trigger\n} from '@angular/animations';\n\nexport const skySlideDissolve: AnimationTriggerMetadata = trigger('skySlideDissolve', [\n transition('* <=> *', [\n\n // Expand animations\n query('.sky-slide-dissolve-last:enter', [\n style({ height: 0, opacity: 0 }),\n animate('200ms ease-in', style({ height: '*', opacity: 0 }))\n ], { optional: true }),\n query('.sky-slide-dissolve-last:enter', [\n style({ opacity: 0 }),\n animate('200ms ease-in', style({ opacity: 1 }))\n ], { optional: true }),\n\n // Collapse animations\n // The expanded content should fade out immediately to prevent\n // any overlap with the read-only content that's returning to the screen.\n query('.sky-slide-dissolve-last:leave', [\n animate('0ms', style({ opacity: 0 }))\n ], { optional: true }),\n\n group([\n query('.sky-slide-dissolve-first:enter', [\n style({ opacity: 0, height: 0 }),\n animate('100ms ease-in', style({ opacity: 1, height: '*' }))\n ], { optional: true }),\n query('.sky-slide-dissolve-last:leave', [\n animate('200ms ease-in', style({ height: 0 }))\n ], { optional: true })\n\n ])\n ])\n]);\n","export enum SkyInlineFormButtonLayout {\n Custom = 0,\n DoneCancel = 1,\n DoneDeleteCancel = 2,\n SaveCancel = 3,\n SaveDeleteCancel = 4\n}\n","import {\n ElementRef,\n Injectable\n} from '@angular/core';\n\n/* tslint:disable */\nconst SKY_TABBABLE_SELECTOR = [\n 'a[href]',\n 'area[href]',\n 'input:not([disabled]):not([tabindex=\\'-1\\'])',\n 'button:not([disabled]):not([tabindex=\\'-1\\'])',\n 'select:not([disabled]):not([tabindex=\\'-1\\'])',\n 'textarea:not([disabled]):not([tabindex=\\'-1\\'])',\n 'iframe',\n 'object',\n 'embed',\n '*[tabindex]:not([tabindex=\\'-1\\'])',\n '*[contenteditable=true]'\n].join(', ');\n/* tslint:enable */\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyInlineFormAdapterService {\n\n public applyAutofocus(inlineFormElementRef: ElementRef): void {\n const inputWithAutofocus = inlineFormElementRef.nativeElement.querySelector('[autofocus]');\n\n if (inputWithAutofocus) {\n inputWithAutofocus.focus();\n } else {\n let focusEl: HTMLElement = inlineFormElementRef.nativeElement.querySelector('.sky-inline-form-content');\n let focusableChildren = this.loadFocusableChildren(focusEl);\n\n this.focusFirstElement(focusableChildren);\n }\n }\n\n private loadFocusableChildren(elem: HTMLElement): HTMLElement[] {\n const elements: Array<HTMLElement>\n = Array.prototype.slice.call(elem.querySelectorAll(SKY_TABBABLE_SELECTOR));\n\n return elements.filter((element) => {\n return this.isVisible(element);\n });\n }\n\n private isVisible(element: HTMLElement): boolean {\n const style = window.getComputedStyle(element);\n const isHidden = style.display === 'none' || style.visibility === 'hidden';\n if (isHidden) {\n return false;\n }\n\n /* istanbul ignore next */\n const hasBounds = !!(\n element.offsetWidth ||\n element.offsetHeight ||\n element.getClientRects().length\n );\n return hasBounds;\n }\n\n private focusFirstElement(list: Array<HTMLElement>): void {\n if (list.length > 0) {\n list[0].focus();\n }\n }\n}\n","import {\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef\n} from '@angular/core';\n\nimport {\n SkyAppWindowRef\n} from '@skyux/core';\n\nimport {\n SkyLibResourcesService\n} from '@skyux/i18n';\n\nimport {\n zip as observableZip\n} from 'rxjs';\n\nimport {\n take\n} from 'rxjs/operators';\n\nimport {\n skySlideDissolve\n} from './animations/slide-dissolve';\n\nimport {\n SkyInlineFormButtonConfig\n} from './types/inline-form-button-config';\n\nimport {\n SkyInlineFormButtonLayout\n} from './types/inline-form-button-layout';\n\nimport {\n SkyInlineFormCloseArgs\n} from './types/inline-form-close-args';\n\nimport {\n SkyInlineFormConfig\n} from './types/inline-form-config';\n\nimport {\n SkyInlineFormAdapterService\n} from './inline-form-adapter.service';\n\n/**\n * Renders form content in the current view instead of a separate modal.\n */\n@Component({\n selector: 'sky-inline-form',\n templateUrl: './inline-form.component.html',\n styleUrls: ['./inline-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n SkyInlineFormAdapterService\n ],\n animations: [ skySlideDissolve ]\n})\nexport class SkyInlineFormComponent implements OnInit, OnDestroy {\n\n /**\n * Specifies configuration options for the buttons to display with the inline form.\n * @required\n */\n @Input()\n public set config(value: SkyInlineFormConfig) {\n if (value !== this._config) {\n this._config = value;\n this.setupButtons();\n }\n }\n\n public get config(): SkyInlineFormConfig {\n return this._config;\n }\n\n /**\n * Specifies a template to use to instantiate the inline form.\n * @required\n */\n @Input()\n public template: TemplateRef<any>;\n\n /**\n * Indicates whether to display the inline form. Users can toggle between displaying\n * and hiding the inline form.\n * @default false\n */\n @Input()\n public set showForm(value: boolean) {\n this._showForm = value;\n\n /* istanbul ignore else */\n if (value) {\n // setTimeout() prevents applyAutofocus() from firing\n // until after *ngIf has added the form element to the DOM.\n this.skyAppWindowRef.nativeWindow.setTimeout(() => {\n this.adapter.applyAutofocus(this.elementRef);\n });\n }\n }\n\n public get showForm() {\n return this._showForm;\n }\n\n /**\n * Fires when users close the inline form.\n */\n @Output()\n public close = new EventEmitter<SkyInlineFormCloseArgs>();\n\n public buttons: SkyInlineFormButtonConfig[];\n\n private _config: SkyInlineFormConfig;\n\n private _showForm: boolean = false;\n\n constructor(\n private adapter: SkyInlineFormAdapterService,\n private elementRef: ElementRef,\n private resourcesService: SkyLibResourcesService,\n private skyAppWindowRef: SkyAppWindowRef,\n private changeDetectorRef: ChangeDetectorRef\n ) {}\n\n public ngOnInit(): void {\n this.setupButtons();\n }\n\n public ngOnDestroy(): void {\n this.close.complete();\n }\n\n public closeInlineForm(event: SkyInlineFormButtonConfig): void {\n const args: SkyInlineFormCloseArgs = {\n reason: event.action\n };\n this.close.emit(args);\n }\n\n private setupButtons(): void {\n if (this.isValidCustomConfig(this.config)) {\n this.buttons = this.getCustomButtons(this.config.buttons);\n this.changeDetectorRef.markForCheck();\n return;\n }\n\n this.getPresetButtons().then((buttons) => {\n this.buttons = buttons;\n this.changeDetectorRef.markForCheck();\n });\n }\n\n private getPresetButtons(): Promise<SkyInlineFormButtonConfig[]> {\n let buttonType =\n this.config ? this.config.buttonLayout : SkyInlineFormButtonLayout.DoneCancel;\n\n let promise: Promise<SkyInlineFormButtonConfig[]>;\n\n switch (buttonType) {\n /* istanbul ignore next */\n default:\n case SkyInlineFormButtonLayout.DoneCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_done'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>((resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'done'\n },\n {\n text: values[1],\n styleType: 'link',\n action: 'cancel'\n }\n ]);\n });\n });\n break;\n\n case SkyInlineFormButtonLayout.SaveCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_save'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>((resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'save'\n },\n {\n text: values[1],\n styleType: 'link',\n action: 'cancel'\n }\n ]);\n });\n });\n break;\n\n case SkyInlineFormButtonLayout.DoneDeleteCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_done'),\n this.resourcesService.getString('skyux_inline_form_button_delete'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>((resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'done'\n },\n {\n text: values[1],\n styleType: 'default',\n action: 'delete'\n },\n {\n text: values[2],\n styleType: 'link',\n action: 'cancel'\n }\n ]);\n });\n });\n break;\n\n case SkyInlineFormButtonLayout.SaveDeleteCancel:\n observableZip(\n this.resourcesService.getString('skyux_inline_form_button_save'),\n this.resourcesService.getString('skyux_inline_form_button_delete'),\n this.resourcesService.getString('skyux_inline_form_button_cancel')\n )\n .pipe(take(1))\n .subscribe((values: any) => {\n promise = new Promise<SkyInlineFormButtonConfig[]>((resolve: any) => {\n resolve([\n {\n text: values[0],\n styleType: 'primary',\n action: 'save'\n },\n {\n text: values[1],\n styleType: 'default',\n action: 'delete'\n },\n {\n text: values[2],\n styleType: 'link',\n action: 'cancel'\n }\n ]);\n });\n });\n break;\n }\n\n return promise;\n }\n\n private getCustomButtons(buttonConfigs: SkyInlineFormButtonConfig[]): SkyInlineFormButtonConfig[] {\n const buttons: SkyInlineFormButtonConfig[] = [];\n\n buttonConfigs.forEach((config: SkyInlineFormButtonConfig) => {\n /* istanbul ignore next */\n const styleType = config.styleType || 'default';\n\n buttons.push({\n action: config.action,\n disabled: config.disabled,\n styleType: styleType,\n text: config.text\n } as SkyInlineFormButtonConfig);\n });\n\n return buttons;\n }\n\n private isValidCustomConfig(config: SkyInlineFormConfig): boolean {\n return (\n config &&\n config.buttonLayout === SkyInlineFormButtonLayout.Custom &&\n config.buttons.length > 0\n );\n }\n\n}\n","<div\n [@skySlideDissolve]=\"showForm\"\n>\n\n <div *ngIf=\"!showForm\"\n class=\"sky-slide-dissolve-first\"\n >\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"template && showForm\"\n class=\"sky-slide-dissolve-last\"\n >\n <div\n class=\"sky-inline-form sky-shadow sky-box sky-elevation-3\"\n >\n <div\n class=\"sky-inline-form-content\"\n >\n <ng-container\n [ngTemplateOutlet]=\"template\"\n >\n </ng-container>\n </div>\n <div\n class=\"sky-inline-form-footer\"\n >\n <button *ngFor=\"let button of buttons\"\n class=\"sky-btn {{ 'sky-btn-' + button.styleType }}\"\n type=\"button\"\n [disabled]=\"(button.disabled) ? true : null\"\n [ngClass]=\"{ 'sky-btn-disabled' : button.disabled }\"\n (click)=\"closeInlineForm(button)\"\n >\n {{ button.text }}\n </button>\n </div>\n </div>\n </div>\n\n</div>\n","/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module modules/shared/sky-inline-form' schematic.\n * To update this file, simply rerun the command.\n */\n\nimport { NgModule } from '@angular/core';\nimport {\n getLibStringForLocale,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n SKY_LIB_RESOURCES_PROVIDERS\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\"skyux_inline_form_button_cancel\":{\"message\":\"Cancel\"},\"skyux_inline_form_button_delete\":{\"message\":\"Delete\"},\"skyux_inline_form_button_done\":{\"message\":\"Done\"},\"skyux_inline_form_button_save\":{\"message\":\"Save\"}},\n};\n\nexport class SkyInlineFormResourcesProvider implements SkyLibResourcesProvider {\n public getString(localeInfo: SkyAppLocaleInfo, name: string): string {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [{\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyInlineFormResourcesProvider,\n multi: true\n }]\n})\nexport class SkyInlineFormResourcesModule { }\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyInlineFormComponent\n} from './inline-form.component';\n\nimport {\n SkyInlineFormResourcesModule\n} from '../shared/sky-inline-form-resources.module';\n\n@NgModule({\n declarations: [\n SkyInlineFormComponent\n ],\n imports: [\n CommonModule,\n SkyInlineFormResourcesModule\n ],\n exports: [\n SkyInlineFormComponent\n ]\n})\nexport class SkyInlineFormModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["trigger","transition","query","style","animate","group","SkyInlineFormButtonLayout","Injectable","EventEmitter","observableZip","take","Component","ChangeDetectionStrategy","Input","Output","getLibStringForLocale","SkyI18nModule","SKY_LIB_RESOURCES_PROVIDERS","NgModule","CommonModule"],"mappings":"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"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { animate, group, query, style, transition, trigger } from '@angular/animations';
|
|
2
|
-
export const skySlideDissolve = trigger('skySlideDissolve', [
|
|
3
|
-
transition('* <=> *', [
|
|
4
|
-
// Expand animations
|
|
5
|
-
query('.sky-slide-dissolve-last:enter', [
|
|
6
|
-
style({ height: 0, opacity: 0 }),
|
|
7
|
-
animate('200ms ease-in', style({ height: '*', opacity: 0 }))
|
|
8
|
-
], { optional: true }),
|
|
9
|
-
query('.sky-slide-dissolve-last:enter', [
|
|
10
|
-
style({ opacity: 0 }),
|
|
11
|
-
animate('200ms ease-in', style({ opacity: 1 }))
|
|
12
|
-
], { optional: true }),
|
|
13
|
-
// Collapse animations
|
|
14
|
-
// The expanded content should fade out immediately to prevent
|
|
15
|
-
// any overlap with the read-only content that's returning to the screen.
|
|
16
|
-
query('.sky-slide-dissolve-last:leave', [
|
|
17
|
-
animate('0ms', style({ opacity: 0 }))
|
|
18
|
-
], { optional: true }),
|
|
19
|
-
group([
|
|
20
|
-
query('.sky-slide-dissolve-first:enter', [
|
|
21
|
-
style({ opacity: 0, height: 0 }),
|
|
22
|
-
animate('100ms ease-in', style({ opacity: 1, height: '*' }))
|
|
23
|
-
], { optional: true }),
|
|
24
|
-
query('.sky-slide-dissolve-last:leave', [
|
|
25
|
-
animate('200ms ease-in', style({ height: 0 }))
|
|
26
|
-
], { optional: true })
|
|
27
|
-
])
|
|
28
|
-
])
|
|
29
|
-
]);
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtZGlzc29sdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmxpbmUtZm9ybS9zcmMvbW9kdWxlcy9pbmxpbmUtZm9ybS9hbmltYXRpb25zL3NsaWRlLWRpc3NvbHZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBRVAsS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sRUFDUixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUE2QixPQUFPLENBQUMsa0JBQWtCLEVBQUU7SUFDcEYsVUFBVSxDQUFDLFNBQVMsRUFBRTtRQUVwQixvQkFBb0I7UUFDcEIsS0FBSyxDQUFDLGdDQUFnQyxFQUFFO1lBQ3RDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM3RCxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3RCLEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRTtZQUN0QyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDckIsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNoRCxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1FBRXRCLHNCQUFzQjtRQUN0Qiw4REFBOEQ7UUFDOUQseUVBQXlFO1FBQ3pFLEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRTtZQUN0QyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3RDLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFdEIsS0FBSyxDQUFDO1lBQ0osS0FBSyxDQUFDLGlDQUFpQyxFQUFFO2dCQUN2QyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDaEMsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQzdELEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDdEIsS0FBSyxDQUFDLGdDQUFnQyxFQUFFO2dCQUN0QyxPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQy9DLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FFdkIsQ0FBQztLQUNILENBQUM7Q0FDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBBbmltYXRpb25UcmlnZ2VyTWV0YWRhdGEsXG4gIGdyb3VwLFxuICBxdWVyeSxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXJcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBza3lTbGlkZURpc3NvbHZlOiBBbmltYXRpb25UcmlnZ2VyTWV0YWRhdGEgPSB0cmlnZ2VyKCdza3lTbGlkZURpc3NvbHZlJywgW1xuICB0cmFuc2l0aW9uKCcqIDw9PiAqJywgW1xuXG4gICAgLy8gRXhwYW5kIGFuaW1hdGlvbnNcbiAgICBxdWVyeSgnLnNreS1zbGlkZS1kaXNzb2x2ZS1sYXN0OmVudGVyJywgW1xuICAgICAgc3R5bGUoeyBoZWlnaHQ6IDAsIG9wYWNpdHk6IDAgfSksXG4gICAgICBhbmltYXRlKCcyMDBtcyBlYXNlLWluJywgc3R5bGUoeyBoZWlnaHQ6ICcqJywgb3BhY2l0eTogMCB9KSlcbiAgICBdLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxuICAgIHF1ZXJ5KCcuc2t5LXNsaWRlLWRpc3NvbHZlLWxhc3Q6ZW50ZXInLCBbXG4gICAgICBzdHlsZSh7IG9wYWNpdHk6IDAgfSksXG4gICAgICBhbmltYXRlKCcyMDBtcyBlYXNlLWluJywgc3R5bGUoeyBvcGFjaXR5OiAxIH0pKVxuICAgIF0sIHsgb3B0aW9uYWw6IHRydWUgfSksXG5cbiAgICAvLyBDb2xsYXBzZSBhbmltYXRpb25zXG4gICAgLy8gVGhlIGV4cGFuZGVkIGNvbnRlbnQgc2hvdWxkIGZhZGUgb3V0IGltbWVkaWF0ZWx5IHRvIHByZXZlbnRcbiAgICAvLyBhbnkgb3ZlcmxhcCB3aXRoIHRoZSByZWFkLW9ubHkgY29udGVudCB0aGF0J3MgcmV0dXJuaW5nIHRvIHRoZSBzY3JlZW4uXG4gICAgcXVlcnkoJy5za3ktc2xpZGUtZGlzc29sdmUtbGFzdDpsZWF2ZScsIFtcbiAgICAgIGFuaW1hdGUoJzBtcycsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSlcbiAgICBdLCB7IG9wdGlvbmFsOiB0cnVlIH0pLFxuXG4gICAgZ3JvdXAoW1xuICAgICAgcXVlcnkoJy5za3ktc2xpZGUtZGlzc29sdmUtZmlyc3Q6ZW50ZXInLCBbXG4gICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCwgaGVpZ2h0OiAwIH0pLFxuICAgICAgICBhbmltYXRlKCcxMDBtcyBlYXNlLWluJywgc3R5bGUoeyBvcGFjaXR5OiAxLCBoZWlnaHQ6ICcqJyB9KSlcbiAgICAgIF0sIHsgb3B0aW9uYWw6IHRydWUgfSksXG4gICAgICBxdWVyeSgnLnNreS1zbGlkZS1kaXNzb2x2ZS1sYXN0OmxlYXZlJywgW1xuICAgICAgICBhbmltYXRlKCcyMDBtcyBlYXNlLWluJywgc3R5bGUoeyBoZWlnaHQ6IDAgfSkpXG4gICAgICBdLCB7IG9wdGlvbmFsOiB0cnVlIH0pXG5cbiAgICBdKVxuICBdKVxuXSk7XG4iXX0=
|