gunsmith-common 2.1.31 → 2.2.2
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/esm2020/notification/notification-bar/notification-bar.component.mjs +3 -3
- package/esm2020/public_api.mjs +2 -1
- package/esm2020/shared/controls/package-selector/package-selector.component.mjs +168 -0
- package/esm2020/shared/services/index.mjs +3 -1
- package/esm2020/shared/services/inventory.service.mjs +4 -1
- package/esm2020/shared/services/package.service.mjs +47 -0
- package/esm2020/shared/services/refinish-code.service.mjs +35 -0
- package/esm2020/shared/services/waitlist.service.mjs +4 -1
- package/esm2020/shared/services/work-order.service.mjs +35 -1
- package/esm2020/shared/shared.module.mjs +28 -7
- package/esm2020/shared/types/index.mjs +11 -1
- package/esm2020/shared/types/package-item.mjs +3 -0
- package/esm2020/shared/types/package-optional-item.mjs +3 -0
- package/esm2020/shared/types/package-total.mjs +3 -0
- package/esm2020/shared/types/package-variation-option.mjs +3 -0
- package/esm2020/shared/types/package-variation.mjs +6 -0
- package/esm2020/shared/types/package.mjs +10 -0
- package/esm2020/shared/types/refinish-code.mjs +3 -0
- package/esm2020/shared/types/waitlist-gun-package-detail.mjs +7 -0
- package/esm2020/shared/types/waitlist-gun.mjs +1 -1
- package/esm2020/shared/types/work-order-inventory-item.mjs +3 -0
- package/esm2020/shared/types/work-order-package-detail.mjs +7 -0
- package/esm2020/shared/types/work-order.mjs +1 -1
- package/fesm2015/gunsmith-common.mjs +361 -14
- package/fesm2015/gunsmith-common.mjs.map +1 -1
- package/fesm2020/gunsmith-common.mjs +356 -14
- package/fesm2020/gunsmith-common.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
- package/shared/controls/package-selector/package-selector.component.d.ts +38 -0
- package/shared/services/index.d.ts +2 -0
- package/shared/services/inventory.service.d.ts +1 -0
- package/shared/services/package.service.d.ts +16 -0
- package/shared/services/refinish-code.service.d.ts +16 -0
- package/shared/services/waitlist.service.d.ts +2 -1
- package/shared/services/work-order.service.d.ts +10 -1
- package/shared/shared.module.d.ts +5 -1
- package/shared/types/index.d.ts +10 -0
- package/shared/types/package-item.d.ts +9 -0
- package/shared/types/package-optional-item.d.ts +6 -0
- package/shared/types/package-total.d.ts +5 -0
- package/shared/types/package-variation-option.d.ts +10 -0
- package/shared/types/package-variation.d.ts +8 -0
- package/shared/types/package.d.ts +14 -0
- package/shared/types/refinish-code.d.ts +8 -0
- package/shared/types/waitlist-gun-package-detail.d.ts +10 -0
- package/shared/types/waitlist-gun.d.ts +2 -0
- package/shared/types/work-order-inventory-item.d.ts +7 -0
- package/shared/types/work-order-package-detail.d.ts +10 -0
- package/shared/types/work-order.d.ts +2 -0
|
@@ -35,9 +35,9 @@ export class NotificationBarComponent {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
NotificationBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NotificationBarComponent, deps: [{ token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
-
NotificationBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NotificationBarComponent, selector: "app-notification-bar", ngImport: i0, template: "<div class=\"notification-bar\" *ngIf=\"messages.length\">\r\n <div *ngFor=\"let message of viewMessages\" class=\"notification-pill\" [class.error]=\"message.type == 1\" [@fadeOutAnimation]=\"shouldFade()\">\r\n <i class=\"fa\" [ngClass]=\"getIconClass(message)\"></i> <span class=\"ms-1\">{{message.message}}</span>\r\n </div>\r\n <div *ngIf=\"messages.length > 3\" class=\"notification-pill\">{{messages.length - 2}} more...</div>\r\n</div>\r\n", styles: [".notification-bar{position:fixed;top:0;left:0;right:0;z-index:10001;pointer-events:none}.notification-bar .notification-pill{max-width:300px;margin:10px auto;border-radius:
|
|
38
|
+
NotificationBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NotificationBarComponent, selector: "app-notification-bar", ngImport: i0, template: "<div class=\"notification-bar\" *ngIf=\"messages.length\">\r\n <div *ngFor=\"let message of viewMessages\" class=\"notification-pill\" [class.error]=\"message.type == 1\" [@fadeOutAnimation]=\"shouldFade()\">\r\n <i class=\"fa\" [ngClass]=\"getIconClass(message)\"></i> <span class=\"ms-1\">{{message.message}}</span>\r\n </div>\r\n <div *ngIf=\"messages.length > 3\" class=\"notification-pill\">{{messages.length - 2}} more...</div>\r\n</div>\r\n", styles: [".notification-bar{position:fixed;top:0;left:0;right:0;z-index:10001;pointer-events:none}.notification-bar .notification-pill{max-width:300px;margin:10px auto;border-radius:4px;color:#000;background:rgba(16,16,16,.4);padding:8px;text-align:center}.notification-bar .error{color:#711e16!important;background:rgba(248,216,212,.6)!important}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [fadeOutAnimation] });
|
|
39
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NotificationBarComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
|
-
args: [{ selector: 'app-notification-bar', animations: [fadeOutAnimation], template: "<div class=\"notification-bar\" *ngIf=\"messages.length\">\r\n <div *ngFor=\"let message of viewMessages\" class=\"notification-pill\" [class.error]=\"message.type == 1\" [@fadeOutAnimation]=\"shouldFade()\">\r\n <i class=\"fa\" [ngClass]=\"getIconClass(message)\"></i> <span class=\"ms-1\">{{message.message}}</span>\r\n </div>\r\n <div *ngIf=\"messages.length > 3\" class=\"notification-pill\">{{messages.length - 2}} more...</div>\r\n</div>\r\n", styles: [".notification-bar{position:fixed;top:0;left:0;right:0;z-index:10001;pointer-events:none}.notification-bar .notification-pill{max-width:300px;margin:10px auto;border-radius:
|
|
41
|
+
args: [{ selector: 'app-notification-bar', animations: [fadeOutAnimation], template: "<div class=\"notification-bar\" *ngIf=\"messages.length\">\r\n <div *ngFor=\"let message of viewMessages\" class=\"notification-pill\" [class.error]=\"message.type == 1\" [@fadeOutAnimation]=\"shouldFade()\">\r\n <i class=\"fa\" [ngClass]=\"getIconClass(message)\"></i> <span class=\"ms-1\">{{message.message}}</span>\r\n </div>\r\n <div *ngIf=\"messages.length > 3\" class=\"notification-pill\">{{messages.length - 2}} more...</div>\r\n</div>\r\n", styles: [".notification-bar{position:fixed;top:0;left:0;right:0;z-index:10001;pointer-events:none}.notification-bar .notification-pill{max-width:300px;margin:10px auto;border-radius:4px;color:#000;background:rgba(16,16,16,.4);padding:8px;text-align:center}.notification-bar .error{color:#711e16!important;background:rgba(248,216,212,.6)!important}\n"] }]
|
|
42
42
|
}], ctorParameters: function () { return [{ type: i1.NotificationService }]; } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24tYmFyL25vdGlmaWNhdGlvbi1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLWJhci9ub3RpZmljYXRpb24tYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBU3pELE1BQU0sT0FBTyx3QkFBd0I7SUFXbkMsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFUNUQsYUFBUSxHQUEwQixFQUFFLENBQUM7SUFTMkIsQ0FBQztJQVBqRSxJQUFJLFlBQVk7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDckQ7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFBQSxDQUFDO0lBSUYsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN4QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBNEI7UUFDdkMsT0FBTztZQUNMLHlCQUF5QixFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQztZQUM1QyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUM7U0FDcEMsQ0FBQztJQUNKLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7c0hBL0JVLHdCQUF3QjswR0FBeEIsd0JBQXdCLDREQ1hyQyx1Y0FNQSxtb0JER2MsQ0FBQyxnQkFBZ0IsQ0FBQzs0RkFFbkIsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNFLHNCQUFzQixjQUdwQixDQUFDLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9ub3RpZmljYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IGZhZGVPdXRBbmltYXRpb24gfSBmcm9tICcuLi9mYWRlLW91dC5hbmltYXRpb24nO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25NZXNzYWdlIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uLW1lc3NhZ2UnXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1ub3RpZmljYXRpb24tYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtmYWRlT3V0QW5pbWF0aW9uXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIG1lc3NhZ2VzOiBOb3RpZmljYXRpb25NZXNzYWdlW10gPSBbXTtcclxuXHJcbiAgZ2V0IHZpZXdNZXNzYWdlcygpOiBOb3RpZmljYXRpb25NZXNzYWdlW10ge1xyXG4gICAgaWYgKHRoaXMubWVzc2FnZXMubGVuZ3RoID4gMykge1xyXG4gICAgICByZXR1cm4gdGhpcy5tZXNzYWdlcy5zbGljZSgwKS5yZXZlcnNlKCkuc2xpY2UoMCwgMik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlcy5zbGljZSgwKS5yZXZlcnNlKCk7XHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UubWVzc2FnZVVwZGF0ZWQuc3Vic2NyaWJlKG1lc3NhZ2UgPT4ge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VzLnB1c2gobWVzc2FnZSk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZXMuc2hpZnQoKTtcclxuICAgICAgfSwgNDAwMCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0SWNvbkNsYXNzKG1lc3NhZ2U6IE5vdGlmaWNhdGlvbk1lc3NhZ2UpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICdmYS1leGNsYW1hdGlvbi10cmlhbmdsZSc6IG1lc3NhZ2UudHlwZSA9PSAxLFxyXG4gICAgICAnZmEtaW5mby1jaXJjbGUnOiBtZXNzYWdlLnR5cGUgPT0gMCxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzaG91bGRGYWRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZXMubGVuZ3RoIDwgMztcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJub3RpZmljYXRpb24tYmFyXCIgKm5nSWY9XCJtZXNzYWdlcy5sZW5ndGhcIj5cclxuICA8ZGl2ICpuZ0Zvcj1cImxldCBtZXNzYWdlIG9mIHZpZXdNZXNzYWdlc1wiIGNsYXNzPVwibm90aWZpY2F0aW9uLXBpbGxcIiBbY2xhc3MuZXJyb3JdPVwibWVzc2FnZS50eXBlID09IDFcIiBbQGZhZGVPdXRBbmltYXRpb25dPVwic2hvdWxkRmFkZSgpXCI+XHJcbiAgICA8aSBjbGFzcz1cImZhXCIgW25nQ2xhc3NdPVwiZ2V0SWNvbkNsYXNzKG1lc3NhZ2UpXCI+PC9pPiA8c3BhbiBjbGFzcz1cIm1zLTFcIj57e21lc3NhZ2UubWVzc2FnZX19PC9zcGFuPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJtZXNzYWdlcy5sZW5ndGggPiAzXCIgY2xhc3M9XCJub3RpZmljYXRpb24tcGlsbFwiPnt7bWVzc2FnZXMubGVuZ3RoIC0gMn19IG1vcmUuLi48L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
package/esm2020/public_api.mjs
CHANGED
|
@@ -6,7 +6,8 @@ export * from './shared/types';
|
|
|
6
6
|
export * from './shared/services';
|
|
7
7
|
export * from './shared/pipes';
|
|
8
8
|
export * from './shared/directives';
|
|
9
|
+
export * from './shared/controls/package-selector/package-selector.component';
|
|
9
10
|
export * from './shared/shared.module';
|
|
10
11
|
export * from './notification/notification.module';
|
|
11
12
|
export * from './notification';
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2d1bnNtaXRoLWNvbW1vbi9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGd1bnNtaXRoLWNvbW1vblxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL3V0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvdHlwZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9zZXJ2aWNlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL3BpcGVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZGlyZWN0aXZlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2NvbnRyb2xzL3BhY2thZ2Utc2VsZWN0b3IvcGFja2FnZS1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uJztcclxuIl19
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { Component, Injector, Input } from '@angular/core';
|
|
2
|
+
import { FormBuilder, NgControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';
|
|
3
|
+
import { PackageService } from '../../services';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../services";
|
|
6
|
+
import * as i2 from "@angular/forms";
|
|
7
|
+
import * as i3 from "@progress/kendo-angular-dropdowns";
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
export class PackageSelectorComponent {
|
|
10
|
+
constructor(packageService, fb, inj) {
|
|
11
|
+
this.packageService = packageService;
|
|
12
|
+
this.fb = fb;
|
|
13
|
+
this.inj = inj;
|
|
14
|
+
this.packages = [];
|
|
15
|
+
this.packageVariations = [];
|
|
16
|
+
this.packageOptionalItems = [];
|
|
17
|
+
this.onChangeSubs = [];
|
|
18
|
+
this.onTouched = () => { };
|
|
19
|
+
this.touched = false;
|
|
20
|
+
this.disabled = false;
|
|
21
|
+
this.createForm();
|
|
22
|
+
}
|
|
23
|
+
ngOnChanges(changes) {
|
|
24
|
+
if (changes.firearmId.currentValue) {
|
|
25
|
+
this.getPackages();
|
|
26
|
+
this.packageForm.reset();
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this.packages = [];
|
|
30
|
+
this.packageForm.reset();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
ngAfterViewInit() {
|
|
34
|
+
const outerControl = this.inj.get(NgControl).control;
|
|
35
|
+
const prevMarkAsTouched = outerControl.markAsTouched;
|
|
36
|
+
outerControl.markAsTouched = (...args) => {
|
|
37
|
+
this.packageForm.markAllAsTouched();
|
|
38
|
+
prevMarkAsTouched.bind(outerControl)(...args);
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
ngOnDestroy() {
|
|
42
|
+
for (let sub of this.onChangeSubs) {
|
|
43
|
+
sub.unsubscribe();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
getPackages() {
|
|
47
|
+
this.packageService.readPackagesByFirearm(this.firearmId)
|
|
48
|
+
.subscribe(packages => {
|
|
49
|
+
this.packages = packages;
|
|
50
|
+
if (this.packageForm.controls.package.value) {
|
|
51
|
+
let packagez = this.packages.find(p => p.id === this.packageForm.controls.package.value.id);
|
|
52
|
+
this.setPackageOptions(packagez);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
createForm() {
|
|
57
|
+
this.packageForm = this.fb.group({
|
|
58
|
+
package: null,
|
|
59
|
+
optionalItems: this.fb.control([]),
|
|
60
|
+
variations: this.fb.array([])
|
|
61
|
+
});
|
|
62
|
+
this.packageForm.controls.package.valueChanges
|
|
63
|
+
.subscribe(value => {
|
|
64
|
+
this.packageForm.controls.optionalItems.reset();
|
|
65
|
+
this.packageOptionalItems = [];
|
|
66
|
+
this.variations.clear({ emitEvent: false });
|
|
67
|
+
this.packageVariations = [];
|
|
68
|
+
if (value?.id) {
|
|
69
|
+
this.setPackageOptions(value);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
if (this.packageDetail) {
|
|
73
|
+
this.packageDetail.variations = null;
|
|
74
|
+
this.packageDetail.optionalItems = null;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
get variations() { return this.packageForm.controls.variations; }
|
|
80
|
+
setPackageOptions(packagez) {
|
|
81
|
+
this.packageOptionalItems = packagez.optionalItems;
|
|
82
|
+
this.packageVariations = packagez.variations;
|
|
83
|
+
this.variations.clear({ emitEvent: false });
|
|
84
|
+
for (let v of this.packageVariations) {
|
|
85
|
+
let selectedVariation = this.packageDetail?.variations?.find(pv => pv.packageVariationId === v.id);
|
|
86
|
+
this.variations.push(this.fb.control(selectedVariation, Validators.required), { emitEvent: false });
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
setValue(packageDetail) {
|
|
90
|
+
this.packageForm.reset(packageDetail);
|
|
91
|
+
}
|
|
92
|
+
validate(control) {
|
|
93
|
+
if (this.packageForm.valid) {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
let errors = {};
|
|
97
|
+
for (let v of this.variations.controls) {
|
|
98
|
+
if (v.invalid) {
|
|
99
|
+
return v.errors;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return errors;
|
|
103
|
+
}
|
|
104
|
+
addControlErrors(allErrors, controlName) {
|
|
105
|
+
const errors = { ...allErrors };
|
|
106
|
+
const controlErrors = this.packageForm.controls[controlName].errors;
|
|
107
|
+
if (controlErrors) {
|
|
108
|
+
errors[controlName] = controlErrors;
|
|
109
|
+
}
|
|
110
|
+
return errors;
|
|
111
|
+
}
|
|
112
|
+
writeValue(packageDetail) {
|
|
113
|
+
if (packageDetail) {
|
|
114
|
+
this.packageDetail = Object.assign({}, packageDetail);
|
|
115
|
+
this.setValue(packageDetail);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
this.packageForm.reset();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
registerOnChange(onChange) {
|
|
122
|
+
const sub = this.packageForm.valueChanges.subscribe(onChange);
|
|
123
|
+
this.onChangeSubs.push(sub);
|
|
124
|
+
}
|
|
125
|
+
registerOnTouched(onTouched) {
|
|
126
|
+
this.onTouched = onTouched;
|
|
127
|
+
}
|
|
128
|
+
setDisabledState(isDisabled) {
|
|
129
|
+
this.disabled = isDisabled;
|
|
130
|
+
if (isDisabled) {
|
|
131
|
+
this.packageForm.disable();
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
this.packageForm.enable();
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
PackageSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PackageSelectorComponent, deps: [{ token: i1.PackageService }, { token: i2.FormBuilder }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
139
|
+
PackageSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PackageSelectorComponent, selector: "cgw-package-selector", inputs: { firearmId: "firearmId" }, providers: [
|
|
140
|
+
{
|
|
141
|
+
provide: NG_VALUE_ACCESSOR,
|
|
142
|
+
multi: true,
|
|
143
|
+
useExisting: PackageSelectorComponent
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
provide: NG_VALIDATORS,
|
|
147
|
+
multi: true,
|
|
148
|
+
useExisting: PackageSelectorComponent
|
|
149
|
+
}
|
|
150
|
+
], usesOnChanges: true, ngImport: i0, template: "<div [formGroup]=\"packageForm\">\r\n <div class=\"row mb-2\">\r\n <div class=\"col\">\r\n <label for=\"waitlist-gun-package\">Package - <span class=\"fst-italic fs-7\">Select a model to list available packages</span></label>\r\n <kendo-dropdownlist [data]=\"packages\"\r\n [defaultItem]=\"{name: 'No Package', id: null}\"\r\n id=\"waitlist-gun-package\"\r\n formControlName=\"package\"\r\n textField=\"name\"\r\n valueField=\"id\"\r\n size=\"small\"></kendo-dropdownlist>\r\n </div>\r\n </div>\r\n <div formArrayName=\"variations\" *ngFor=\"let variationControl of variations.controls; let i = index\">\r\n <div class=\"row mb-2\">\r\n <div class=\"col\">\r\n <label [for]=\"'waitlist-gun-package-variation-' + i\">{{packageVariations[i]?.name}}</label>\r\n <kendo-dropdownlist [data]=\"packageVariations[i]?.options\"\r\n [id]=\"'waitlist-gun-package-variation-' + i\"\r\n textField=\"optionName\"\r\n [formControl]=\"variationControl\"\r\n valueField=\"id\"\r\n size=\"small\"></kendo-dropdownlist>\r\n </div>\r\n </div>\r\n <div *ngIf=\"variationControl.invalid && (variationControl.dirty || variationControl.touched)\" class=\"error-container text-danger\">\r\n <div *ngIf=\"variationControl.errors.required\">\r\n {{packageVariations[i]?.name}} is required.\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row mb-2\" *ngIf=\"packageOptionalItems?.length\">\r\n <div class=\"col\">\r\n <label for=\"waitlist-gun-package-addons\">Add-ons (Additional charges will apply)</label>\r\n <kendo-multiselect id=\"waitlist-gun-package-addons\"\r\n [data]=\"packageOptionalItems\"\r\n formControlName=\"optionalItems\"\r\n textField=\"name\"\r\n valueField=\"inventoryItemId\"\r\n size=\"small\"></kendo-multiselect>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""], components: [{ type: i3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i3.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }], directives: [{ type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PackageSelectorComponent, decorators: [{
|
|
152
|
+
type: Component,
|
|
153
|
+
args: [{ selector: 'cgw-package-selector', providers: [
|
|
154
|
+
{
|
|
155
|
+
provide: NG_VALUE_ACCESSOR,
|
|
156
|
+
multi: true,
|
|
157
|
+
useExisting: PackageSelectorComponent
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
provide: NG_VALIDATORS,
|
|
161
|
+
multi: true,
|
|
162
|
+
useExisting: PackageSelectorComponent
|
|
163
|
+
}
|
|
164
|
+
], template: "<div [formGroup]=\"packageForm\">\r\n <div class=\"row mb-2\">\r\n <div class=\"col\">\r\n <label for=\"waitlist-gun-package\">Package - <span class=\"fst-italic fs-7\">Select a model to list available packages</span></label>\r\n <kendo-dropdownlist [data]=\"packages\"\r\n [defaultItem]=\"{name: 'No Package', id: null}\"\r\n id=\"waitlist-gun-package\"\r\n formControlName=\"package\"\r\n textField=\"name\"\r\n valueField=\"id\"\r\n size=\"small\"></kendo-dropdownlist>\r\n </div>\r\n </div>\r\n <div formArrayName=\"variations\" *ngFor=\"let variationControl of variations.controls; let i = index\">\r\n <div class=\"row mb-2\">\r\n <div class=\"col\">\r\n <label [for]=\"'waitlist-gun-package-variation-' + i\">{{packageVariations[i]?.name}}</label>\r\n <kendo-dropdownlist [data]=\"packageVariations[i]?.options\"\r\n [id]=\"'waitlist-gun-package-variation-' + i\"\r\n textField=\"optionName\"\r\n [formControl]=\"variationControl\"\r\n valueField=\"id\"\r\n size=\"small\"></kendo-dropdownlist>\r\n </div>\r\n </div>\r\n <div *ngIf=\"variationControl.invalid && (variationControl.dirty || variationControl.touched)\" class=\"error-container text-danger\">\r\n <div *ngIf=\"variationControl.errors.required\">\r\n {{packageVariations[i]?.name}} is required.\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row mb-2\" *ngIf=\"packageOptionalItems?.length\">\r\n <div class=\"col\">\r\n <label for=\"waitlist-gun-package-addons\">Add-ons (Additional charges will apply)</label>\r\n <kendo-multiselect id=\"waitlist-gun-package-addons\"\r\n [data]=\"packageOptionalItems\"\r\n formControlName=\"optionalItems\"\r\n textField=\"name\"\r\n valueField=\"inventoryItemId\"\r\n size=\"small\"></kendo-multiselect>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""] }]
|
|
165
|
+
}], ctorParameters: function () { return [{ type: i1.PackageService }, { type: i2.FormBuilder }, { type: i0.Injector }]; }, propDecorators: { firearmId: [{
|
|
166
|
+
type: Input
|
|
167
|
+
}] } });
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC9jb250cm9scy9wYWNrYWdlLXNlbGVjdG9yL3BhY2thZ2Utc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvY29udHJvbHMvcGFja2FnZS1zZWxlY3Rvci9wYWNrYWdlLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQStDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBb0QsV0FBVyxFQUFhLFNBQVMsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQStCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhNLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBb0JoRCxNQUFNLE9BQU8sd0JBQXdCO0lBbUJuQyxZQUNVLGNBQThCLEVBQzlCLEVBQWUsRUFDZixHQUFhO1FBRmIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixRQUFHLEdBQUgsR0FBRyxDQUFVO1FBakJ2QixhQUFRLEdBQWMsRUFBRSxDQUFDO1FBQ3pCLHNCQUFpQixHQUF1QixFQUFFLENBQUM7UUFDM0MseUJBQW9CLEdBQTBCLEVBQUUsQ0FBQztRQU1qRCxpQkFBWSxHQUFtQixFQUFFLENBQUM7UUFDbEMsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUV0QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFPZixJQUFJLENBQUMsVUFBVSxFQUFFLENB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SUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM1QjthQUNJO1lBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7O3NIQXBLVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixtRkFieEI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsS0FBSyxFQUFFLElBQUk7WUFDWCxXQUFXLEVBQUUsd0JBQXdCO1NBQ3RDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsYUFBYTtZQUN0QixLQUFLLEVBQUUsSUFBSTtZQUNYLFdBQVcsRUFBRSx3QkFBd0I7U0FDdEM7S0FDRiwrQ0NyQkgsdXNFQTJDQTs0RkRwQmEsd0JBQXdCO2tCQWpCcEMsU0FBUzsrQkFDRSxzQkFBc0IsYUFHckI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVywwQkFBMEI7eUJBQ3RDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLDBCQUEwQjt5QkFDdEM7cUJBQ0Y7c0pBS0QsU0FBUztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBOZ0NvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBQYWNrYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgUGFja2FnZSwgUGFja2FnZVZhcmlhdGlvbiwgUGFja2FnZU9wdGlvbmFsSXRlbSwgV2FpdGxpc3RHdW5QYWNrYWdlRGV0YWlsLCBXb3JrT3JkZXJQYWNrYWdlRGV0YWlsIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjZ3ctcGFja2FnZS1zZWxlY3RvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhY2thZ2Utc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BhY2thZ2Utc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogUGFja2FnZVNlbGVjdG9yQ29tcG9uZW50XHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IFBhY2thZ2VTZWxlY3RvckNvbXBvbmVudFxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBhY2thZ2VTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KClcclxuICBmaXJlYXJtSWQ6IG51bWJlcjtcclxuXHJcbiAgcGFja2FnZXM6IFBhY2thZ2VbXSA9IFtdO1xyXG4gIHBhY2thZ2VWYXJpYXRpb25zOiBQYWNrYWdlVmFyaWF0aW9uW10gPSBbXTtcclxuICBwYWNrYWdlT3B0aW9uYWxJdGVtczogUGFja2FnZU9wdGlvbmFsSXRlbVtdID0gW107XHJcblxyXG4gIHBhY2thZ2VEZXRhaWw6IFdhaXRsaXN0R3VuUGFja2FnZURldGFpbCB8IFdvcmtPcmRlclBhY2thZ2VEZXRhaWw7XHJcblxyXG4gIHBhY2thZ2VGb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gIG9uQ2hhbmdlU3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICBvblRvdWNoZWQgPSAoKSA9PiB7IH07XHJcblxyXG4gIHRvdWNoZWQgPSBmYWxzZTtcclxuICBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcGFja2FnZVNlcnZpY2U6IFBhY2thZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGluajogSW5qZWN0b3JcclxuICApIHtcclxuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMuZmlyZWFybUlkLmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICB0aGlzLmdldFBhY2thZ2VzKCk7XHJcbiAgICAgIHRoaXMucGFja2FnZUZvcm0ucmVzZXQoKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnBhY2thZ2VzID0gW107XHJcbiAgICAgIHRoaXMucGFja2FnZUZvcm0ucmVzZXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG91dGVyQ29udHJvbCA9IHRoaXMuaW5qLmdldChOZ0NvbnRyb2wpLmNvbnRyb2w7XHJcbiAgICBjb25zdCBwcmV2TWFya0FzVG91Y2hlZCA9IG91dGVyQ29udHJvbC5tYXJrQXNUb3VjaGVkO1xyXG4gICAgb3V0ZXJDb250cm9sLm1hcmtBc1RvdWNoZWQgPSAoLi4uYXJnczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMucGFja2FnZUZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xyXG4gICAgICBwcmV2TWFya0FzVG91Y2hlZC5iaW5kKG91dGVyQ29udHJvbCkoLi4uYXJncyk7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBmb3IgKGxldCBzdWIgb2YgdGhpcy5vbkNoYW5nZVN1YnMpIHtcclxuICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRQYWNrYWdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMucGFja2FnZVNlcnZpY2UucmVhZFBhY2thZ2VzQnlGaXJlYXJtKHRoaXMuZmlyZWFybUlkKVxyXG4gICAgICAuc3Vic2NyaWJlKHBhY2thZ2VzID0+IHtcclxuICAgICAgICB0aGlzLnBhY2thZ2VzID0gcGFja2FnZXM7XHJcbiAgICAgICAgaWYgKHRoaXMucGFja2FnZUZvcm0uY29udHJvbHMucGFja2FnZS52YWx1ZSkge1xyXG4gICAgICAgICAgbGV0IHBhY2thZ2V6ID0gdGhpcy5wYWNrYWdlcy5maW5kKHAgPT4gcC5pZCA9PT0gdGhpcy5wYWNrYWdlRm9ybS5jb250cm9scy5wYWNrYWdlLnZhbHVlLmlkKTtcclxuICAgICAgICAgIHRoaXMuc2V0UGFja2FnZU9wdGlvbnMocGFja2FnZXopO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVGb3JtKCk6IHZvaWQge1xyXG4gICAgdGhpcy5wYWNrYWdlRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBwYWNrYWdlOiBudWxsLFxyXG4gICAgICBvcHRpb25hbEl0ZW1zOiB0aGlzLmZiLmNvbnRyb2woW10pLFxyXG4gICAgICB2YXJpYXRpb25zOiB0aGlzLmZiLmFycmF5KFtdKVxyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLnBhY2thZ2VGb3JtLmNvbnRyb2xzLnBhY2thZ2UudmFsdWVDaGFuZ2VzXHJcbiAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICAgIHRoaXMucGFja2FnZUZvcm0uY29udHJvbHMub3B0aW9uYWxJdGVtcy5yZXNldCgpO1xyXG4gICAgICAgIHRoaXMucGFja2FnZU9wdGlvbmFsSXRlbXMgPSBbXTtcclxuXHJcbiAgICAgICAgdGhpcy52YXJpYXRpb25zLmNsZWFyKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgICB0aGlzLnBhY2thZ2VWYXJpYXRpb25zID0gW107XHJcblxyXG4gICAgICAgIGlmICh2YWx1ZT8uaWQpIHtcclxuICAgICAgICAgIHRoaXMuc2V0UGFja2FnZU9wdGlvbnModmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGlmICh0aGlzLnBhY2thZ2VEZXRhaWwpIHtcclxuICAgICAgICAgICAgdGhpcy5wYWNrYWdlRGV0YWlsLnZhcmlhdGlvbnMgPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLnBhY2thZ2VEZXRhaWwub3B0aW9uYWxJdGVtcyA9IG51bGw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0IHZhcmlhdGlvbnMoKSB7IHJldHVybiB0aGlzLnBhY2thZ2VGb3JtLmNvbnRyb2xzLnZhcmlhdGlvbnMgYXMgRm9ybUFycmF5IH1cclxuXHJcbiAgc2V0UGFja2FnZU9wdGlvbnMocGFja2FnZXo6IFBhY2thZ2UpIHtcclxuICAgIHRoaXMucGFja2FnZU9wdGlvbmFsSXRlbXMgPSBwYWNrYWdlei5vcHRpb25hbEl0ZW1zO1xyXG4gICAgdGhpcy5wYWNrYWdlVmFyaWF0aW9ucyA9IHBhY2thZ2V6LnZhcmlhdGlvbnM7XHJcblxyXG4gICAgdGhpcy52YXJpYXRpb25zLmNsZWFyKHtlbWl0RXZlbnQ6IGZhbHNlfSk7XHJcbiAgICBmb3IgKGxldCB2IG9mIHRoaXMucGFja2FnZVZhcmlhdGlvbnMpIHtcclxuICAgICAgbGV0IHNlbGVjdGVkVmFyaWF0aW9uID0gdGhpcy5wYWNrYWdlRGV0YWlsPy52YXJpYXRpb25zPy5maW5kKHB2ID0+IHB2LnBhY2thZ2VWYXJpYXRpb25JZCA9PT0gdi5pZCk7XHJcbiAgICAgIHRoaXMudmFyaWF0aW9ucy5wdXNoKHRoaXMuZmIuY29udHJvbChzZWxlY3RlZFZhcmlhdGlvbiwgVmFsaWRhdG9ycy5yZXF1aXJlZCksIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRWYWx1ZShwYWNrYWdlRGV0YWlsOiBXYWl0bGlzdEd1blBhY2thZ2VEZXRhaWwgfCBXb3JrT3JkZXJQYWNrYWdlRGV0YWlsKSB7XHJcbiAgICB0aGlzLnBhY2thZ2VGb3JtLnJlc2V0KHBhY2thZ2VEZXRhaWwpO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XHJcbiAgICBpZiAodGhpcy5wYWNrYWdlRm9ybS52YWxpZCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZXJyb3JzOiBhbnkgPSB7fTtcclxuXHJcbiAgICBmb3IgKGxldCB2IG9mIHRoaXMudmFyaWF0aW9ucy5jb250cm9scykge1xyXG4gICAgICBpZiAodi5pbnZhbGlkKSB7XHJcbiAgICAgICAgcmV0dXJuIHYuZXJyb3JzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGVycm9ycztcclxuICB9XHJcblxyXG4gIGFkZENvbnRyb2xFcnJvcnMoYWxsRXJyb3JzOiBhbnksIGNvbnRyb2xOYW1lOiBzdHJpbmcpIHtcclxuXHJcbiAgICBjb25zdCBlcnJvcnMgPSB7IC4uLmFsbEVycm9ycyB9O1xyXG5cclxuICAgIGNvbnN0IGNvbnRyb2xFcnJvcnMgPSB0aGlzLnBhY2thZ2VGb3JtLmNvbnRyb2xzW2NvbnRyb2xOYW1lXS5lcnJvcnM7XHJcblxyXG4gICAgaWYgKGNvbnRyb2xFcnJvcnMpIHtcclxuICAgICAgZXJyb3JzW2NvbnRyb2xOYW1lXSA9IGNvbnRyb2xFcnJvcnM7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGVycm9ycztcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUocGFja2FnZURldGFpbDogV2FpdGxpc3RHdW5QYWNrYWdlRGV0YWlsIHwgV29ya09yZGVyUGFja2FnZURldGFpbCk6IHZvaWQge1xyXG4gICAgaWYgKHBhY2thZ2VEZXRhaWwpIHtcclxuICAgICAgdGhpcy5wYWNrYWdlRGV0YWlsID0gT2JqZWN0LmFzc2lnbih7fSxwYWNrYWdlRGV0YWlsKTtcclxuICAgICAgdGhpcy5zZXRWYWx1ZShwYWNrYWdlRGV0YWlsKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnBhY2thZ2VGb3JtLnJlc2V0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IHN1YiA9IHRoaXMucGFja2FnZUZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZShvbkNoYW5nZSk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlU3Vicy5wdXNoKHN1Yik7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgaWYgKGlzRGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy5wYWNrYWdlRm9ybS5kaXNhYmxlKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5wYWNrYWdlRm9ybS5lbmFibGUoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cInBhY2thZ2VGb3JtXCI+XHJcbiAgPGRpdiBjbGFzcz1cInJvdyBtYi0yXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgIDxsYWJlbCBmb3I9XCJ3YWl0bGlzdC1ndW4tcGFja2FnZVwiPlBhY2thZ2UgLSA8c3BhbiBjbGFzcz1cImZzdC1pdGFsaWMgZnMtN1wiPlNlbGVjdCBhIG1vZGVsIHRvIGxpc3QgYXZhaWxhYmxlIHBhY2thZ2VzPC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgIDxrZW5kby1kcm9wZG93bmxpc3QgW2RhdGFdPVwicGFja2FnZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0SXRlbV09XCJ7bmFtZTogJ05vIFBhY2thZ2UnLCBpZDogbnVsbH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwid2FpdGxpc3QtZ3VuLXBhY2thZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhY2thZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRGaWVsZD1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCI+PC9rZW5kby1kcm9wZG93bmxpc3Q+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGZvcm1BcnJheU5hbWU9XCJ2YXJpYXRpb25zXCIgKm5nRm9yPVwibGV0IHZhcmlhdGlvbkNvbnRyb2wgb2YgdmFyaWF0aW9ucy5jb250cm9sczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBtYi0yXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICA8bGFiZWwgW2Zvcl09XCInd2FpdGxpc3QtZ3VuLXBhY2thZ2UtdmFyaWF0aW9uLScgKyBpXCI+e3twYWNrYWdlVmFyaWF0aW9uc1tpXT8ubmFtZX19PC9sYWJlbD5cclxuICAgICAgICA8a2VuZG8tZHJvcGRvd25saXN0IFtkYXRhXT1cInBhY2thZ2VWYXJpYXRpb25zW2ldPy5vcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCInd2FpdGxpc3QtZ3VuLXBhY2thZ2UtdmFyaWF0aW9uLScgKyBpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRGaWVsZD1cIm9wdGlvbk5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInZhcmlhdGlvbkNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiPjwva2VuZG8tZHJvcGRvd25saXN0PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInZhcmlhdGlvbkNvbnRyb2wuaW52YWxpZCAmJiAodmFyaWF0aW9uQ29udHJvbC5kaXJ0eSB8fCB2YXJpYXRpb25Db250cm9sLnRvdWNoZWQpXCIgY2xhc3M9XCJlcnJvci1jb250YWluZXIgdGV4dC1kYW5nZXJcIj5cclxuICAgICAgPGRpdiAqbmdJZj1cInZhcmlhdGlvbkNvbnRyb2wuZXJyb3JzLnJlcXVpcmVkXCI+XHJcbiAgICAgICAge3twYWNrYWdlVmFyaWF0aW9uc1tpXT8ubmFtZX19IGlzIHJlcXVpcmVkLlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJyb3cgbWItMlwiICpuZ0lmPVwicGFja2FnZU9wdGlvbmFsSXRlbXM/Lmxlbmd0aFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICA8bGFiZWwgZm9yPVwid2FpdGxpc3QtZ3VuLXBhY2thZ2UtYWRkb25zXCI+QWRkLW9ucyAoQWRkaXRpb25hbCBjaGFyZ2VzIHdpbGwgYXBwbHkpPC9sYWJlbD5cclxuICAgICAgPGtlbmRvLW11bHRpc2VsZWN0IGlkPVwid2FpdGxpc3QtZ3VuLXBhY2thZ2UtYWRkb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cInBhY2thZ2VPcHRpb25hbEl0ZW1zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm9wdGlvbmFsSXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEZpZWxkPVwibmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZUZpZWxkPVwiaW52ZW50b3J5SXRlbUlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiPjwva2VuZG8tbXVsdGlzZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -23,4 +23,6 @@ export * from './user.service';
|
|
|
23
23
|
export * from './waitlist-project.service';
|
|
24
24
|
export * from './inventory.service';
|
|
25
25
|
export * from './status-history.service';
|
|
26
|
-
|
|
26
|
+
export * from './package.service';
|
|
27
|
+
export * from './refinish-code.service';
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY3VzdG9tZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlyZWFybS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9ndW4tcGFydC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdGF0ZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi92ZW5kb3Iuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG90YWxzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3dvcmstaG9saWRheS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi93b3JrLW9yZGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RlYWxlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWxlLXVwbG9hZC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi93YWl0bGlzdC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3dhaXRsaXN0LWN1c3RvbWVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL29wdGljLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Byb2R1Y3Quc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlyZWFybS1zZXJpZXMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbWlsbGluZy10eXBlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Nvc21ldGljLW1pbGxpbmcuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29hdGluZy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tYXRlcmlhbC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9wdXJjaGFzZS1vcmRlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi91c2VyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3dhaXRsaXN0LXByb2plY3Quc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaW52ZW50b3J5LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0YXR1cy1oaXN0b3J5LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BhY2thZ2Uuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVmaW5pc2gtY29kZS5zZXJ2aWNlJztcclxuIl19
|
|
@@ -20,6 +20,9 @@ export class InventoryService {
|
|
|
20
20
|
updateInventoryItem(id, item) {
|
|
21
21
|
return this.http.put(`${this.url}/${id}`, item);
|
|
22
22
|
}
|
|
23
|
+
createInventoryItem(item) {
|
|
24
|
+
return this.http.post(this.url, item);
|
|
25
|
+
}
|
|
23
26
|
}
|
|
24
27
|
InventoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: InventoryService, deps: [{ token: i1.HttpClient }, { token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
28
|
InventoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: InventoryService, providedIn: 'root' });
|
|
@@ -32,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
32
35
|
type: Inject,
|
|
33
36
|
args: ['env']
|
|
34
37
|
}] }]; } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52ZW50b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC9zZXJ2aWNlcy9pbnZlbnRvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU9uRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCLFlBQ1UsSUFBZ0IsRUFDRCxHQUFRO1FBRHZCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDRCxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBRS9CLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcscUJBQXFCLENBQUM7SUFDdEQsQ0FBQztJQUVELGtCQUFrQixDQUFDLGtCQUEyQixLQUFLLEVBQUUsU0FBaUIsSUFBSTtRQUN4RSxNQUFNLE1BQU0sR0FBRztZQUNiLGVBQWUsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFO1NBQzVDLENBQUE7UUFFRCxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDbkIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sQ0FBQTtTQUMxQjtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWtCLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsbUJBQW1CLENBQUMsRUFBVSxFQUFFLElBQW1CO1FBQ2pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWdCLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBbUI7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBZ0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDOzs4R0E1QlUsZ0JBQWdCLDRDQUtqQixLQUFLO2tIQUxKLGdCQUFnQixjQUZmLE1BQU07NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTUksTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSW52ZW50b3J5SXRlbSB9IGZyb20gJy4uL3R5cGVzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEludmVudG9yeVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgdXJsOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgQEluamVjdCgnZW52JykgcHJpdmF0ZSBlbnY6IGFueVxyXG4gICkge1xyXG4gICAgdGhpcy51cmwgPSB0aGlzLmVudi5iYXNlVXJsICsgJ2FwaS9pbnZlbnRvcnktaXRlbXMnO1xyXG4gIH1cclxuXHJcbiAgcmVhZEludmVudG9yeUl0ZW1zKGluY2x1ZGVJbmFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlLCBzZWFyY2g6IHN0cmluZyA9IG51bGwpOiBPYnNlcnZhYmxlPEludmVudG9yeUl0ZW1bXT4ge1xyXG4gICAgY29uc3QgcGFyYW1zID0ge1xyXG4gICAgICBpbmNsdWRlSW5hY3RpdmU6IGluY2x1ZGVJbmFjdGl2ZS50b1N0cmluZygpXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHNlYXJjaCAhPT0gbnVsbCkge1xyXG4gICAgICBwYXJhbXNbJ3NlYXJjaCddID0gc2VhcmNoXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SW52ZW50b3J5SXRlbVtdPih0aGlzLnVybCwgeyBwYXJhbXM6IHBhcmFtcyB9KTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUludmVudG9yeUl0ZW0oaWQ6IG51bWJlciwgaXRlbTogSW52ZW50b3J5SXRlbSk6IE9ic2VydmFibGU8SW52ZW50b3J5SXRlbT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8SW52ZW50b3J5SXRlbT4oYCR7dGhpcy51cmx9LyR7aWR9YCwgaXRlbSk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVJbnZlbnRvcnlJdGVtKGl0ZW06IEludmVudG9yeUl0ZW0pOiBPYnNlcnZhYmxlPEludmVudG9yeUl0ZW0+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxJbnZlbnRvcnlJdGVtPih0aGlzLnVybCwgaXRlbSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { Inject, Injectable } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
export class PackageService {
|
|
6
|
+
constructor(http, env) {
|
|
7
|
+
this.http = http;
|
|
8
|
+
this.env = env;
|
|
9
|
+
this.url = this.env.baseUrl + 'api/packages';
|
|
10
|
+
}
|
|
11
|
+
readPackages(includeInactive = false, sku = null, name = null) {
|
|
12
|
+
const params = {
|
|
13
|
+
includeInactive
|
|
14
|
+
};
|
|
15
|
+
if (sku) {
|
|
16
|
+
params['sku'] = sku;
|
|
17
|
+
}
|
|
18
|
+
if (name) {
|
|
19
|
+
params['name'] = name;
|
|
20
|
+
}
|
|
21
|
+
return this.http.get(this.url, { params: params });
|
|
22
|
+
}
|
|
23
|
+
readPackage(id) {
|
|
24
|
+
return this.http.get(`${this.url}/${id}`);
|
|
25
|
+
}
|
|
26
|
+
readPackagesByFirearm(firearmId) {
|
|
27
|
+
return this.http.get(`${this.env.baseUrl}api/firearms/${firearmId}/packages`);
|
|
28
|
+
}
|
|
29
|
+
savePackage(packagez) {
|
|
30
|
+
if (packagez.id) {
|
|
31
|
+
return this.http.put(`${this.url}/${packagez.id}`, packagez);
|
|
32
|
+
}
|
|
33
|
+
return this.http.post(this.url, packagez);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
PackageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PackageService, deps: [{ token: i1.HttpClient }, { token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
37
|
+
PackageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PackageService, providedIn: 'root' });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PackageService, decorators: [{
|
|
39
|
+
type: Injectable,
|
|
40
|
+
args: [{
|
|
41
|
+
providedIn: 'root'
|
|
42
|
+
}]
|
|
43
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
44
|
+
type: Inject,
|
|
45
|
+
args: ['env']
|
|
46
|
+
}] }]; } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvc2VydmljZXMvcGFja2FnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT25ELE1BQU0sT0FBTyxjQUFjO0lBR3pCLFlBQ1UsSUFBZ0IsRUFDRCxHQUFRO1FBRHZCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDRCxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBRS9CLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDO0lBQy9DLENBQUM7SUFFRCxZQUFZLENBQUMsa0JBQTJCLEtBQUssRUFBRSxNQUFjLElBQUksRUFDL0QsT0FBZSxJQUFJO1FBRW5CLE1BQU0sTUFBTSxHQUFHO1lBQ2IsZUFBZTtTQUNoQixDQUFDO1FBRUYsSUFBSSxHQUFHLEVBQUU7WUFDUCxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQ3JCO1FBRUQsSUFBSSxJQUFJLEVBQUU7WUFDUixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ3ZCO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBWSxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELHFCQUFxQixDQUFDLFNBQWlCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sZ0JBQWdCLFNBQVMsV0FBVyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFpQjtRQUMzQixJQUFJLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDdkU7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFVLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQzs7NEdBekNVLGNBQWMsNENBS2YsS0FBSztnSEFMSixjQUFjLGNBRmIsTUFBTTs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTUksTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUGFja2FnZSB9IGZyb20gJy4uL3R5cGVzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhY2thZ2VTZXJ2aWNlIHtcclxuICBwcml2YXRlIHVybDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIEBJbmplY3QoJ2VudicpIHByaXZhdGUgZW52OiBhbnlcclxuICApIHtcclxuICAgIHRoaXMudXJsID0gdGhpcy5lbnYuYmFzZVVybCArICdhcGkvcGFja2FnZXMnO1xyXG4gIH1cclxuXHJcbiAgcmVhZFBhY2thZ2VzKGluY2x1ZGVJbmFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlLCBza3U6IHN0cmluZyA9IG51bGwsXHJcbiAgICBuYW1lOiBzdHJpbmcgPSBudWxsKTogT2JzZXJ2YWJsZTxQYWNrYWdlW10+IHtcclxuXHJcbiAgICBjb25zdCBwYXJhbXMgPSB7XHJcbiAgICAgIGluY2x1ZGVJbmFjdGl2ZVxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoc2t1KSB7XHJcbiAgICAgIHBhcmFtc1snc2t1J10gPSBza3U7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG5hbWUpIHtcclxuICAgICAgcGFyYW1zWyduYW1lJ10gPSBuYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFBhY2thZ2VbXT4odGhpcy51cmwsIHsgcGFyYW1zOiBwYXJhbXMgfSk7XHJcbiAgfVxyXG5cclxuICByZWFkUGFja2FnZShpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxQYWNrYWdlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxQYWNrYWdlPihgJHt0aGlzLnVybH0vJHtpZH1gKTtcclxuICB9XHJcblxyXG4gIHJlYWRQYWNrYWdlc0J5RmlyZWFybShmaXJlYXJtSWQ6IG51bWJlcik6IE9ic2VydmFibGU8UGFja2FnZVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxQYWNrYWdlW10+KGAke3RoaXMuZW52LmJhc2VVcmx9YXBpL2ZpcmVhcm1zLyR7ZmlyZWFybUlkfS9wYWNrYWdlc2ApO1xyXG4gIH1cclxuXHJcbiAgc2F2ZVBhY2thZ2UocGFja2FnZXo6IFBhY2thZ2UpOiBPYnNlcnZhYmxlPFBhY2thZ2U+IHtcclxuICAgIGlmIChwYWNrYWdlei5pZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxQYWNrYWdlPihgJHt0aGlzLnVybH0vJHtwYWNrYWdlei5pZH1gLCBwYWNrYWdleik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UGFja2FnZT4odGhpcy51cmwsIHBhY2thZ2V6KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { HttpClient } from "@angular/common/http";
|
|
2
|
+
import { Inject, Injectable } from "@angular/core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
export class RefinishCodeService {
|
|
6
|
+
constructor(http, env) {
|
|
7
|
+
this.http = http;
|
|
8
|
+
this.env = env;
|
|
9
|
+
this.url = this.env.baseUrl + 'api/refinish-codes';
|
|
10
|
+
}
|
|
11
|
+
readRefinishCodes() {
|
|
12
|
+
return this.http.get(this.url);
|
|
13
|
+
}
|
|
14
|
+
createRefinishCodes(refinishCodes) {
|
|
15
|
+
return this.http.post(this.url, refinishCodes);
|
|
16
|
+
}
|
|
17
|
+
updateRefinishCodes(ids, refinishCodes) {
|
|
18
|
+
return this.http.put(`${this.url}/` + ids.join(','), refinishCodes);
|
|
19
|
+
}
|
|
20
|
+
deleteRefinishCodes(ids) {
|
|
21
|
+
return this.http.delete(this.url + '/' + ids.join(','));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
RefinishCodeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: RefinishCodeService, deps: [{ token: i1.HttpClient }, { token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
+
RefinishCodeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: RefinishCodeService, providedIn: 'root' });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: RefinishCodeService, decorators: [{
|
|
27
|
+
type: Injectable,
|
|
28
|
+
args: [{
|
|
29
|
+
providedIn: 'root'
|
|
30
|
+
}]
|
|
31
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
32
|
+
type: Inject,
|
|
33
|
+
args: ['env']
|
|
34
|
+
}] }]; } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmaW5pc2gtY29kZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvc2VydmljZXMvcmVmaW5pc2gtY29kZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT25ELE1BQU0sT0FBTyxtQkFBbUI7SUFHOUIsWUFDVSxJQUFnQixFQUNELEdBQVE7UUFEdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNELFFBQUcsR0FBSCxHQUFHLENBQUs7UUFFL0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQztJQUNyRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBaUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxhQUE2QjtRQUMvQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFpQixJQUFJLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxHQUFhLEVBQUUsYUFBNkI7UUFDOUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBaUIsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsbUJBQW1CLENBQUMsR0FBYTtRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDOztpSEF4QlUsbUJBQW1CLDRDQUtwQixLQUFLO3FIQUxKLG1CQUFtQixjQUZsQixNQUFNOzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1JLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFJlZmluaXNoQ29kZSB9IGZyb20gXCIuLi90eXBlc1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVmaW5pc2hDb2RlU2VydmljZSB7XHJcbiAgcHJpdmF0ZSB1cmw6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGVudjogYW55XHJcbiAgKSB7XHJcbiAgICB0aGlzLnVybCA9IHRoaXMuZW52LmJhc2VVcmwgKyAnYXBpL3JlZmluaXNoLWNvZGVzJztcclxuICB9XHJcblxyXG4gIHJlYWRSZWZpbmlzaENvZGVzKCk6IE9ic2VydmFibGU8UmVmaW5pc2hDb2RlW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFJlZmluaXNoQ29kZVtdPih0aGlzLnVybCk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVSZWZpbmlzaENvZGVzKHJlZmluaXNoQ29kZXM6IFJlZmluaXNoQ29kZVtdKTogT2JzZXJ2YWJsZTxSZWZpbmlzaENvZGVbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJlZmluaXNoQ29kZVtdPih0aGlzLnVybCwgcmVmaW5pc2hDb2Rlcyk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVSZWZpbmlzaENvZGVzKGlkczogbnVtYmVyW10sIHJlZmluaXNoQ29kZXM6IFJlZmluaXNoQ29kZVtdKTogT2JzZXJ2YWJsZTxSZWZpbmlzaENvZGVbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8UmVmaW5pc2hDb2RlW10+KGAke3RoaXMudXJsfS9gICsgaWRzLmpvaW4oJywnKSwgcmVmaW5pc2hDb2Rlcyk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVSZWZpbmlzaENvZGVzKGlkczogbnVtYmVyW10pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodGhpcy51cmwgKyAnLycgKyBpZHMuam9pbignLCcpKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -68,6 +68,9 @@ export class WaitlistService {
|
|
|
68
68
|
deleteProject(waitlistId, projectId) {
|
|
69
69
|
return this.http.delete(`${this.url}/${waitlistId}/projects/${projectId}`);
|
|
70
70
|
}
|
|
71
|
+
readPackageDetailTotals() {
|
|
72
|
+
return this.http.get(`${this.url}/package-details/totals`);
|
|
73
|
+
}
|
|
71
74
|
}
|
|
72
75
|
WaitlistService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WaitlistService, deps: [{ token: i1.HttpClient }, { token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
73
76
|
WaitlistService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WaitlistService, providedIn: 'root' });
|
|
@@ -80,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
80
83
|
type: Inject,
|
|
81
84
|
args: ['env']
|
|
82
85
|
}] }]; } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdGxpc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1bnNtaXRoLWNvbW1vbi9zcmMvc2hhcmVkL3NlcnZpY2VzL3dhaXRsaXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFPbEQsTUFBTSxPQUFPLGVBQWU7SUFHMUIsWUFDVSxJQUFnQixFQUNELEdBQVE7UUFEdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNELFFBQUcsR0FBSCxHQUFHLENBQUs7UUFFL0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQztJQUNyRCxDQUFDO0lBRUQscUJBQXFCLENBQUMsV0FBNkIsSUFBSSxFQUNyRCxLQUFhLElBQUksRUFDakIsZUFBdUIsSUFBSSxFQUMzQixnQkFBd0IsSUFBSSxFQUM1QixlQUF1QixJQUFJLEVBQzNCLGlCQUFrQyxJQUFJLEVBQ3RDLGVBQThCLElBQUk7UUFDbEMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWxCLElBQUksUUFBUSxFQUFFO1lBQ1osTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUNoRTtRQUVELElBQUksRUFBRSxFQUFFO1lBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUM5QjtRQUVELElBQUksWUFBWSxFQUFFO1lBQ2hCLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxZQUFZLENBQUM7U0FDdkM7UUFFRCxJQUFJLGFBQWEs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QUFTLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQWtCLEVBQUUsU0FBaUI7UUFDakQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksVUFBVSxhQUFhLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFpQixHQUFHLElBQUksQ0FBQyxHQUFHLHlCQUF5QixDQUFDLENBQUM7SUFDN0UsQ0FBQzs7NkdBbEdVLGVBQWUsNENBS2hCLEtBQUs7aUhBTEosZUFBZSxjQUZkLE1BQU07NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1JLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBhY2thZ2VUb3RhbCwgUHJvamVjdFR5cGUsIFdhaXRsaXN0R3VuLCBXYWl0bGlzdEl0ZW0sIFdhaXRsaXN0U3RhdHVzLCBXb3JrT3JkZXJUeXBlIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgV2FpdGxpc3RTZXJ2aWNlIHtcclxuICBwcml2YXRlIHVybDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIEBJbmplY3QoJ2VudicpIHByaXZhdGUgZW52OiBhbnlcclxuICApIHtcclxuICAgIHRoaXMudXJsID0gdGhpcy5lbnYuYmFzZVVybCArICdhcGkvd2FpdGxpc3QtaXRlbXMnO1xyXG4gIH1cclxuXHJcbiAgcmV0cmlldmVXYWl0bGlzdEl0ZW1zKHN0YXR1c2VzOiBXYWl0bGlzdFN0YXR1c1tdID0gbnVsbCxcclxuICAgIGlkOiBudW1iZXIgPSBudWxsLFxyXG4gICAgY3VzdG9tZXJOYW1lOiBzdHJpbmcgPSBudWxsLFxyXG4gICAgY3VzdG9tZXJFbWFpbDogc3RyaW5nID0gbnVsbCxcclxuICAgIHNlcmlhbE51bWJlcjogc3RyaW5nID0gbnVsbCxcclxuICAgIHdvcmtPcmRlclR5cGVzOiBXb3JrT3JkZXJUeXBlW10gPSBudWxsLFxyXG4gICAgcHJvamVjdFR5cGVzOiBQcm9qZWN0VHlwZVtdID0gbnVsbCk6IE9ic2VydmFibGU8V2FpdGxpc3RJdGVtW10+IHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xyXG5cclxuICAgIGlmIChzdGF0dXNlcykge1xyXG4gICAgICBwYXJhbXNbJ3N0YXR1c2VzJ10gPSBzdGF0dXNlcy5tYXAoc3RhdHVzID0+IHN0YXR1cy50b1N0cmluZygpKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaWQpIHtcclxuICAgICAgcGFyYW1zWydpZCddID0gaWQudG9TdHJpbmcoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY3VzdG9tZXJOYW1lKSB7XHJcbiAgICAgIHBhcmFtc1snY3VzdG9tZXJOYW1lJ10gPSBjdXN0b21lck5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGN1c3RvbWVyRW1haWwpIHtcclxuICAgICAgcGFyYW1zWydjdXN0b21lckVtYWlsJ10gPSBjdXN0b21lckVtYWlsO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzZXJpYWxOdW1iZXIpIHtcclxuICAgICAgcGFyYW1zWydzZXJpYWxOdW1iZXInXSA9IHNlcmlhbE51bWJlcjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAod29ya09yZGVyVHlwZXMpIHtcclxuICAgICAgcGFyYW1zWyd3b3JrT3JkZXJUeXBlcyddID0gd29ya09yZGVyVHlwZXMubWFwKHQgPT4gdC50b1N0cmluZygpKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocHJvamVjdFR5cGVzKSB7XHJcbiAgICAgIHBhcmFtc1sncHJvamVjdFR5cGVzJ10gPSBwcm9qZWN0VHlwZXMubWFwKHQgPT4gdC50b1N0cmluZygpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxXYWl0bGlzdEl0ZW1bXT4odGhpcy51cmwsIHtcclxuICAgICAgcGFyYW1zOiBwYXJhbXNcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmV0cmlldmVXYWl0bGlzdEl0ZW0oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8V2FpdGxpc3RJdGVtPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxXYWl0bGlzdEl0ZW0+KGAke3RoaXMudXJsfS8ke2lkfWApO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlV2FpdGxpc3RJdGVtKHdhaXRsaXN0SXRlbTogV2FpdGxpc3RJdGVtKTogT2JzZXJ2YWJsZTxXYWl0bGlzdEl0ZW0+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxXYWl0bGlzdEl0ZW0+KHRoaXMudXJsLCB3YWl0bGlzdEl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlV2FpdGxpc3RJdGVtKGlkOiBudW1iZXIsIHdhaXRsaXN0SXRlbTogV2FpdGxpc3RJdGVtKTogT2JzZXJ2YWJsZTxXYWl0bGlzdEl0ZW0+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PFdhaXRsaXN0SXRlbT4oYCR7dGhpcy51cmx9LyR7aWR9YCwgd2FpdGxpc3RJdGVtKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVdhaXRsaXN0SXRlbShpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMudXJsfS8ke2lkfWApO1xyXG4gIH1cclxuXHJcbiAgZG9XYWl0bGlzdEFjdGlvbihpZDogbnVtYmVyLCBhY3Rpb25JZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxXYWl0bGlzdEl0ZW0+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFdhaXRsaXN0SXRlbT4oYCR7dGhpcy51cmx9LyR7aWR9L2FjdGlvbnMvJHthY3Rpb25JZH1gKTtcclxuICB9XHJcblxyXG4gIHJldHJpZXZlUHJvamVjdFBkZihpZDogbnVtYmVyLCBwcm9qZWN0SWQ6IG51bWJlcik6IE9ic2VydmFibGU8QmxvYj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QmxvYj4oYCR7dGhpcy51cmx9LyR7aWR9L3Byb2plY3RzLyR7cHJvamVjdElkfS9wZGZgLCB7IHJlc3BvbnNlVHlwZTogXCJibG9iXCIgYXMgJ2pzb24nIH0pO1xyXG4gIH1cclxuXHJcbiAgcmV0cmlldmVQcm9qZWN0cyh3YWl0bGlzdElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFdhaXRsaXN0R3VuW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFdhaXRsaXN0R3VuW10+KGAke3RoaXMudXJsfS8ke3dhaXRsaXN0SWR9L3Byb2plY3RzYCk7XHJcbiAgfVxyXG5cclxuICByZXRyaWV2ZVByb2plY3Qod2FpdGxpc3RJZDogbnVtYmVyLCBwcm9qZWN0SWQ6IG51bWJlcik6IE9ic2VydmFibGU8V2FpdGxpc3RHdW4+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFdhaXRsaXN0R3VuPihgJHt0aGlzLnVybH0vJHt3YWl0bGlzdElkfS9wcm9qZWN0cy8ke3Byb2plY3RJZH1gKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZVByb2plY3Qod2FpdGxpc3RJZDogbnVtYmVyLCBwcm9qZWN0OiBXYWl0bGlzdEd1bik6IE9ic2VydmFibGU8V2FpdGxpc3RHdW4+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxXYWl0bGlzdEd1bj4oYCR7dGhpcy51cmx9LyR7d2FpdGxpc3RJZH0vcHJvamVjdHNgLCBwcm9qZWN0KTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVByb2plY3Qod2FpdGxpc3RJZDogbnVtYmVyLCBwcm9qZWN0SWQ6IG51bWJlciwgcHJvamVjdDogV2FpdGxpc3RHdW4pOiBPYnNlcnZhYmxlPFdhaXRsaXN0R3VuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxXYWl0bGlzdEd1bj4oYCR7dGhpcy51cmx9LyR7d2FpdGxpc3RJZH0vcHJvamVjdHMvJHtwcm9qZWN0SWR9YCwgcHJvamVjdCk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVQcm9qZWN0KHdhaXRsaXN0SWQ6IG51bWJlciwgcHJvamVjdElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPHZvaWQ+KGAke3RoaXMudXJsfS8ke3dhaXRsaXN0SWR9L3Byb2plY3RzLyR7cHJvamVjdElkfWApO1xyXG4gIH1cclxuXHJcbiAgcmVhZFBhY2thZ2VEZXRhaWxUb3RhbHMoKTogT2JzZXJ2YWJsZTxQYWNrYWdlVG90YWxbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UGFja2FnZVRvdGFsW10+KGAke3RoaXMudXJsfS9wYWNrYWdlLWRldGFpbHMvdG90YWxzYCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|