sk-front-lib 0.18.4 → 0.19.1
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/article/sk-article-editor-server.component.d.ts +1 -1
- package/article/sk-article-editor.component.d.ts +1 -1
- package/article/sk-froala-editor.directive.d.ts +1 -1
- package/crud/sk-auth-admin.guard.d.ts +2 -2
- package/crud/sk-auth.guard.d.ts +2 -2
- package/{esm2022 → esm2020}/api/sk-api.module.mjs +9 -9
- package/{esm2022 → esm2020}/api/sk-api.service.mjs +4 -4
- package/{esm2022 → esm2020}/article/sk-article-editor-server.component.mjs +4 -4
- package/{esm2022 → esm2020}/article/sk-article-editor.component.mjs +4 -4
- package/{esm2022 → esm2020}/article/sk-article-server.module.mjs +5 -5
- package/{esm2022 → esm2020}/article/sk-article.module.mjs +7 -7
- package/{esm2022 → esm2020}/article/sk-article.service.mjs +4 -4
- package/{esm2022 → esm2020}/article/sk-froala-editor.directive.mjs +7 -7
- package/{esm2022 → esm2020}/crud/sk-account.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-affiliate.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-auth-admin.guard.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-auth.guard.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-auth.service.mjs +7 -7
- package/{esm2022 → esm2020}/crud/sk-board.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-brand.service.mjs +4 -4
- package/esm2020/crud/sk-cart.service.mjs +256 -0
- package/{esm2022 → esm2020}/crud/sk-category.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-comment.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-config.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-contact.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-coupon.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-document.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-etc.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-file.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-keyword.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-order.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-point.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-product.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-promotion.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-search.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-store.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-user.service.mjs +4 -4
- package/{esm2022 → esm2020}/google-analytics/google-analytics-router.module.mjs +9 -9
- package/{esm2022 → esm2020}/google-analytics/google-analytics.module.mjs +5 -5
- package/esm2020/google-analytics/services/google-analytics.service.mjs +200 -0
- package/{esm2022 → esm2020}/image/sk-image.component.mjs +6 -6
- package/esm2020/image/sk-image.module.mjs +40 -0
- package/{esm2022 → esm2020}/lib/sk-byte.pipe.mjs +4 -4
- package/{esm2022 → esm2020}/lib/sk-date-time.pipe.mjs +4 -4
- package/{esm2022 → esm2020}/lib/sk-date.pipe.mjs +4 -4
- package/{esm2022 → esm2020}/lib/sk-front-lib.module.mjs +13 -13
- package/{esm2022 → esm2020}/lib/sk-keys.pipe.mjs +4 -4
- package/{esm2022 → esm2020}/lib/sk-time.pipe.mjs +4 -4
- package/esm2020/model/lib/filetype.mjs +179 -0
- package/esm2020/model/lib/payment.mjs +35 -0
- package/esm2020/search-address/dialog/dialog.component.mjs +27 -0
- package/{esm2022 → esm2020}/search-address/sk-search-address.directive.mjs +6 -6
- package/esm2020/search-address/sk-search-address.module.mjs +47 -0
- package/{esm2022 → esm2020}/search-address/sk-search-address.service.mjs +4 -4
- package/esm2020/uploader/sk-uploader.component.mjs +120 -0
- package/esm2020/uploader/sk-uploader.directive.mjs +44 -0
- package/esm2020/uploader/sk-uploader.module.mjs +57 -0
- package/fesm2015/sk-front-lib-api.mjs +216 -0
- package/fesm2015/sk-front-lib-api.mjs.map +1 -0
- package/fesm2015/sk-front-lib-article.mjs +758 -0
- package/fesm2015/sk-front-lib-article.mjs.map +1 -0
- package/fesm2015/sk-front-lib-crud.mjs +1529 -0
- package/fesm2015/sk-front-lib-crud.mjs.map +1 -0
- package/fesm2015/sk-front-lib-google-analytics.mjs +334 -0
- package/fesm2015/sk-front-lib-google-analytics.mjs.map +1 -0
- package/fesm2015/sk-front-lib-image.mjs +303 -0
- package/fesm2015/sk-front-lib-image.mjs.map +1 -0
- package/{fesm2022 → fesm2015}/sk-front-lib-model.mjs +62 -57
- package/fesm2015/sk-front-lib-model.mjs.map +1 -0
- package/fesm2015/sk-front-lib-search-address.mjs +183 -0
- package/fesm2015/sk-front-lib-search-address.mjs.map +1 -0
- package/fesm2015/sk-front-lib-uploader.mjs +546 -0
- package/fesm2015/sk-front-lib-uploader.mjs.map +1 -0
- package/{fesm2022 → fesm2015}/sk-front-lib.mjs +27 -27
- package/{fesm2022 → fesm2015}/sk-front-lib.mjs.map +1 -1
- package/{fesm2022 → fesm2020}/sk-front-lib-api.mjs +11 -11
- package/{fesm2022 → fesm2020}/sk-front-lib-api.mjs.map +1 -1
- package/{fesm2022 → fesm2020}/sk-front-lib-article.mjs +25 -25
- package/{fesm2022 → fesm2020}/sk-front-lib-article.mjs.map +1 -1
- package/{fesm2022 → fesm2020}/sk-front-lib-crud.mjs +93 -93
- package/fesm2020/sk-front-lib-crud.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/sk-front-lib-google-analytics.mjs +16 -38
- package/fesm2020/sk-front-lib-google-analytics.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/sk-front-lib-image.mjs +21 -21
- package/fesm2020/sk-front-lib-image.mjs.map +1 -0
- package/fesm2020/sk-front-lib-model.mjs +1110 -0
- package/fesm2020/sk-front-lib-model.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/sk-front-lib-search-address.mjs +32 -32
- package/fesm2020/sk-front-lib-search-address.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/sk-front-lib-uploader.mjs +49 -48
- package/fesm2020/sk-front-lib-uploader.mjs.map +1 -0
- package/fesm2020/sk-front-lib.mjs +538 -0
- package/fesm2020/sk-front-lib.mjs.map +1 -0
- package/google-analytics/services/google-analytics.service.d.ts +1 -2
- package/google-analytics/types/ga-action.type.d.ts +1 -1
- package/google-analytics/types/ga-bind.type.d.ts +1 -1
- package/image/sk-image.component.d.ts +2 -2
- package/image/sk-image.module.d.ts +3 -3
- package/model/lib/payment.d.ts +6 -1
- package/package.json +68 -46
- package/search-address/dialog/dialog.component.d.ts +1 -1
- package/search-address/sk-search-address.directive.d.ts +2 -2
- package/search-address/sk-search-address.module.d.ts +3 -3
- package/uploader/sk-uploader.component.d.ts +1 -1
- package/uploader/sk-uploader.directive.d.ts +2 -2
- package/uploader/sk-uploader.module.d.ts +5 -5
- package/esm2022/crud/sk-cart.service.mjs +0 -256
- package/esm2022/google-analytics/services/google-analytics.service.mjs +0 -223
- package/esm2022/image/sk-image.module.mjs +0 -40
- package/esm2022/model/lib/filetype.mjs +0 -179
- package/esm2022/model/lib/payment.mjs +0 -30
- package/esm2022/search-address/dialog/dialog.component.mjs +0 -27
- package/esm2022/search-address/sk-search-address.module.mjs +0 -47
- package/esm2022/uploader/sk-uploader.component.mjs +0 -119
- package/esm2022/uploader/sk-uploader.directive.mjs +0 -44
- package/esm2022/uploader/sk-uploader.module.mjs +0 -57
- package/fesm2022/sk-front-lib-crud.mjs.map +0 -1
- package/fesm2022/sk-front-lib-google-analytics.mjs.map +0 -1
- package/fesm2022/sk-front-lib-image.mjs.map +0 -1
- package/fesm2022/sk-front-lib-model.mjs.map +0 -1
- package/fesm2022/sk-front-lib-search-address.mjs.map +0 -1
- package/fesm2022/sk-front-lib-uploader.mjs.map +0 -1
- /package/{esm2022 → esm2020}/api/model/api-config.mjs +0 -0
- /package/{esm2022 → esm2020}/api/model/api-pageable-param.mjs +0 -0
- /package/{esm2022 → esm2020}/api/model/api-pageable.mjs +0 -0
- /package/{esm2022 → esm2020}/api/model/api-response.mjs +0 -0
- /package/{esm2022 → esm2020}/api/model/index.mjs +0 -0
- /package/{esm2022 → esm2020}/api/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/api/sk-front-lib-api.mjs +0 -0
- /package/{esm2022 → esm2020}/article/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/article/sk-front-lib-article.mjs +0 -0
- /package/{esm2022 → esm2020}/crud/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/crud/sk-front-lib-crud.mjs +0 -0
- /package/{esm2022 → esm2020}/google-analytics/initializers/google-analytics-router.initializer.mjs +0 -0
- /package/{esm2022 → esm2020}/google-analytics/initializers/google-analytics.initializer.mjs +0 -0
- /package/{esm2022 → esm2020}/google-analytics/interfaces/google-analytics-command.mjs +0 -0
- /package/{esm2022 → esm2020}/google-analytics/interfaces/google-analytics-settings.mjs +0 -0
- /package/{esm2022 → esm2020}/google-analytics/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/google-analytics/sk-front-lib-google-analytics.mjs +0 -0
- /package/{esm2022 → esm2020}/google-analytics/tokens/google-analytics-settings-token.mjs +0 -0
- /package/{esm2022 → esm2020}/google-analytics/types/ga-action.type.mjs +0 -0
- /package/{esm2022 → esm2020}/google-analytics/types/ga-bind.type.mjs +0 -0
- /package/{esm2022 → esm2020}/image/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/image/sk-front-lib-image.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/sk-animations.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/sk-utils.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/article.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/audit.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/auth.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/board.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/cart.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/comment.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/contact.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/coupon.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/document.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/etc.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/file.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/grid.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/nicepay.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/order.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/point.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/product-series.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/product.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/promotion.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/shipping.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/user.mjs +0 -0
- /package/{esm2022 → esm2020}/model/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/model/sk-front-lib-model.mjs +0 -0
- /package/{esm2022 → esm2020}/public-api.mjs +0 -0
- /package/{esm2022 → esm2020}/search-address/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/search-address/sk-front-lib-search-address.mjs +0 -0
- /package/{esm2022 → esm2020}/search-address/sk-search-address.model.mjs +0 -0
- /package/{esm2022 → esm2020}/sk-front-lib.mjs +0 -0
- /package/{esm2022 → esm2020}/uploader/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/uploader/sk-front-lib-uploader.mjs +0 -0
- /package/{esm2022 → esm2020}/uploader/sk-uploader-file-item.model.mjs +0 -0
- /package/{esm2022 → esm2020}/uploader/sk-uploader.animation.mjs +0 -0
- /package/{esm2022 → esm2020}/uploader/sk-uploader.class.mjs +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sk-front-lib-model.mjs","sources":["../../../projects/sk-front-lib/model/src/lib/audit.ts","../../../projects/sk-front-lib/model/src/lib/user.ts","../../../projects/sk-front-lib/model/src/lib/file.ts","../../../projects/sk-front-lib/model/src/lib/filetype.ts","../../../projects/sk-front-lib/model/src/lib/article.ts","../../../projects/sk-front-lib/model/src/lib/board.ts","../../../projects/sk-front-lib/model/src/lib/product.ts","../../../projects/sk-front-lib/model/src/lib/document.ts","../../../projects/sk-front-lib/model/src/lib/cart.ts","../../../projects/sk-front-lib/model/src/lib/etc.ts","../../../projects/sk-front-lib/model/src/lib/promotion.ts","../../../projects/sk-front-lib/model/src/lib/order.ts","../../../projects/sk-front-lib/model/src/lib/payment.ts","../../../projects/sk-front-lib/model/src/lib/shipping.ts","../../../projects/sk-front-lib/model/src/lib/nicepay.ts","../../../projects/sk-front-lib/model/src/lib/point.ts","../../../projects/sk-front-lib/model/src/lib/coupon.ts","../../../projects/sk-front-lib/model/src/lib/comment.ts","../../../projects/sk-front-lib/model/src/lib/contact.ts","../../../projects/sk-front-lib/model/src/lib/grid.ts","../../../projects/sk-front-lib/model/src/sk-front-lib-model.ts"],"sourcesContent":["export interface IAudit {\n createdBy?: string;\n createdDate?: string;\n updatedBy?: string;\n updatedDate?: string;\n}\n\nexport class Audit {\n public createdBy: string;\n public createdDate: string;\n public updatedBy: string;\n public updatedDate: string;\n\n constructor(data: IAudit = {}) {\n if (data === null) {\n data = {};\n }\n\n this.createdBy = data.createdBy || '';\n this.createdDate = data.createdDate || '';\n this.updatedBy = data.updatedBy || '';\n this.updatedDate = data.updatedDate || '';\n }\n}\n","import {Audit, IAudit} from './audit';\n\nexport interface SkUserCount {\n total?: number;\n trash?: number;\n}\n\nexport enum SkUserRoleName {\n Admin = 'ROLE_ADMIN',\n Developer = 'ROLE_DEVELOPER',\n Manager = 'ROLE_MANAGER',\n User = 'ROLE_USER',\n Dealer = 'ROLE_DEALER',\n Leave = 'ROLE_LEAVE',\n Affiliate = 'ROLE_AFFILIATE'\n}\n\nexport interface ISkUserRole {\n name: SkUserRoleName;\n}\n\nexport interface ISkUser extends IAudit {\n id?: number;\n email?: string;\n nickname?: string;\n emailValid?: boolean;\n roles?: ISkUserRole[];\n}\n\nexport class SkUser extends Audit {\n id: number;\n email: string;\n nickname: string;\n emailValid: boolean;\n roles: ISkUserRole[];\n\n // transient values\n roleNames: SkUserRoleName[];\n\n constructor(data: ISkUser = {}) {\n super(data);\n\n this.id = data.id;\n this.email = data.email;\n this.nickname = data.nickname;\n this.emailValid = data.emailValid || false;\n this.roles = data.roles || [];\n\n // set transient values\n this.roleNames = this.roles.map(value => value.name);\n\n }\n\n hasRole(role: SkUserRoleName): boolean {\n return this.roleNames.indexOf(role) > -1;\n }\n\n hasRoleFromArray(roles: SkUserRoleName[] = []): boolean {\n if (!roles || roles.length === 0) { return false; }\n\n let result = false;\n roles.forEach(role => {\n result = result || this.hasRole(role);\n });\n\n return result;\n }\n\n isEmpty(): boolean {\n return !this.id;\n }\n\n isAnonymous(): boolean {\n return this.isEmpty();\n }\n\n isAdmin(): boolean {\n return this.hasRole(SkUserRoleName.Admin);\n }\n\n isDeveloper(): boolean {\n return this.hasRole(SkUserRoleName.Developer);\n }\n\n isManager(): boolean {\n return this.hasRole(SkUserRoleName.Manager);\n }\n\n isDealer(): boolean {\n return this.hasRole(SkUserRoleName.Dealer);\n }\n\n isUser(): boolean {\n return this.hasRole(SkUserRoleName.User);\n }\n\n isAdminAccessable(): boolean {\n return this.isAdmin() || this.isDeveloper() || this.isManager();\n }\n}\n\nexport interface SkUserSignup {\n email: string;\n password: string;\n passwordConfirm: string;\n nickname: string;\n}\n\nexport interface ISkAuthor {\n id?: number;\n nickname?: number;\n email?: number;\n}\n","import {Audit, IAudit} from './audit';\n\nexport interface ISkFile extends IAudit {\n id?: number;\n mime?: string;\n fileSize?: number;\n sourceFilename?: string;\n ext?: string;\n uploadedFilename?: string;\n uploadedPath?: string;\n isValid?: boolean;\n isPrivate?: boolean;\n}\n\nexport class SkFile extends Audit {\n id: number;\n mime: string;\n fileSize: number;\n sourceFilename: string;\n ext: string;\n uploadedFilename: string;\n uploadedPath: string;\n isValid: boolean;\n isPrivate: boolean;\n\n constructor(data: ISkFile = {}) {\n super(data);\n Object.assign(this, data);\n }\n}\n","import {SkFile} from './file';\n\nexport class FileType {\n /* MS office */\n public static mime_doc: string[] = [\n 'application/msword',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',\n 'application/vnd.ms-word.document.macroEnabled.12',\n 'application/vnd.ms-word.template.macroEnabled.12'\n ];\n public static mime_xsl: string[] = [\n 'application/vnd.ms-excel',\n 'application/vnd.ms-excel',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',\n 'application/vnd.ms-excel.sheet.macroEnabled.12',\n 'application/vnd.ms-excel.template.macroEnabled.12',\n 'application/vnd.ms-excel.addin.macroEnabled.12',\n 'application/vnd.ms-excel.sheet.binary.macroEnabled.12'\n ];\n public static mime_ppt: string[] = [\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n 'application/vnd.openxmlformats-officedocument.presentationml.template',\n 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',\n 'application/vnd.ms-powerpoint.addin.macroEnabled.12',\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12'\n ];\n\n /* PSD */\n public static mime_psd: string[] = [\n 'image/photoshop',\n 'image/x-photoshop',\n 'image/psd',\n 'application/photoshop',\n 'application/psd',\n 'zz-application/zz-winassoc-psd'\n ];\n\n /* Compressed files */\n public static mime_compress: string[] = [\n 'application/x-gtar',\n 'application/x-gcompress',\n 'application/compress',\n 'application/x-tar',\n 'application/x-rar-compressed',\n 'application/octet-stream',\n 'application/x-zip-compressed',\n 'application/zip-compressed',\n 'application/x-7z-compressed',\n 'application/gzip',\n 'application/x-bzip2'\n ];\n\n public static getMimeClass(file: SkFile | File): string {\n let mime = '';\n let name = '';\n if (file instanceof SkFile) {\n mime = (file as SkFile).mime;\n name = (file as SkFile).sourceFilename;\n }\n\n if (file instanceof File) {\n mime = (file as File).type;\n name = (file as File).name;\n }\n\n let mimeClass = 'application';\n if (this.mime_psd.indexOf(mime) !== -1) {\n mimeClass = 'image';\n } else if (mime.match('image.*')) {\n mimeClass = 'image';\n } else if (mime.match('video.*')) {\n mimeClass = 'video';\n } else if (mime.match('audio.*')) {\n mimeClass = 'audio';\n } else if (mime === 'application/pdf') {\n mimeClass = 'pdf';\n } else if (this.mime_compress.indexOf(mime) !== -1) {\n mimeClass = 'compress';\n } else if (this.mime_doc.indexOf(mime) !== -1) {\n mimeClass = 'doc';\n } else if (this.mime_xsl.indexOf(mime) !== -1) {\n mimeClass = 'xls';\n } else if (this.mime_ppt.indexOf(mime) !== -1) {\n mimeClass = 'ppt';\n }\n if (mimeClass === 'application') {\n mimeClass = this.fileTypeDetection(name);\n }\n\n return mimeClass;\n }\n\n public static fileTypeDetection(inputFilename: string): string {\n const types: { [ key: string ]: string } = {\n jpg: 'image',\n jpeg: 'image',\n tif: 'image',\n psd: 'image',\n bmp: 'image',\n png: 'image',\n nef: 'image',\n tiff: 'image',\n cr2: 'image',\n dwg: 'image',\n cdr: 'image',\n ai: 'image',\n indd: 'image',\n pin: 'image',\n cdp: 'image',\n skp: 'image',\n stp: 'image',\n '3dm': 'image',\n mp3: 'audio',\n wav: 'audio',\n wma: 'audio',\n mod: 'audio',\n m4a: 'audio',\n compress: 'compress',\n zip: 'compress',\n rar: 'compress',\n '7z': 'compress',\n lz: 'compress',\n z01: 'compress',\n bz2: 'compress',\n gz: 'compress',\n alz: 'compress',\n pdf: 'pdf',\n xls: 'xls',\n xlsx: 'xls',\n ods: 'xls',\n mp4: 'video',\n avi: 'video',\n wmv: 'video',\n mpg: 'video',\n mts: 'video',\n flv: 'video',\n '3gp': 'video',\n vob: 'video',\n m4v: 'video',\n mpeg: 'video',\n m2ts: 'video',\n mov: 'video',\n doc: 'doc',\n docx: 'doc',\n eps: 'doc',\n txt: 'doc',\n odt: 'doc',\n rtf: 'doc',\n ppt: 'ppt',\n pptx: 'ppt',\n pps: 'ppt',\n ppsx: 'ppt',\n key: 'ppt',\n odp: 'ppt'\n };\n\n const chunks = inputFilename.split('.');\n if (chunks.length < 2) {\n return 'application';\n }\n const extension = chunks[ chunks.length - 1 ].toLowerCase();\n if (types[ extension ] === undefined) {\n return 'application';\n } else {\n return types[ extension ];\n }\n }\n}\n","import {ISkFile, SkFile} from \"./file\";\nimport {Audit, IAudit} from \"./audit\";\n\nexport interface ISkArticle extends IAudit {\n id?: number;\n content?: string;\n images?: ISkFile[];\n}\n\nexport class SkArticle extends Audit {\n id: number;\n content: string;\n images: SkFile[];\n\n constructor(data: ISkArticle = {}) {\n super(data);\n this.id = data.id;\n this.content = data.content;\n this.images = (data.images || []).map(item => new SkFile(item));\n }\n}\n","import {Audit, IAudit} from \"./audit\";\nimport {ISkDocumentPublicList} from \"./document\";\nimport {ApiPageable} from \"sk-front-lib/api\";\n\nexport interface ISkBoard extends IAudit {\n id?: number;\n url?: string;\n title?: string;\n subtitle?: string;\n skin?: string;\n\n showSupport?: boolean;\n\n permissions?: {\n publicRead?: boolean;\n publicWrite?: boolean;\n secretRead?: boolean;\n secretWrite?: boolean;\n useNotice?: boolean;\n }\n\n}\n\nexport class SkBoard extends Audit {\n id: number;\n url: string;\n title: string;\n subtitle?: string;\n skin: string;\n\n showSupport: boolean;\n\n permissions: {\n publicRead?: boolean;\n publicWrite?: boolean;\n secretRead?: boolean;\n secretWrite?: boolean;\n useNotice?: boolean;\n };\n\n\n constructor(data: ISkBoard = {}) {\n super(data);\n Object.assign(this,\n {\n skin: 'default',\n showSupport: false,\n permissions: {\n publicRead: true,\n publicWrite: false,\n secretRead: false,\n secretWrite: false,\n useNotice: false\n }\n },\n data\n );\n }\n\n isEmpty(): boolean {\n return !this.id;\n }\n}\n\nexport interface ISkBoardDetail extends ISkBoard {\n noticeDocuments?: ISkDocumentPublicList[];\n documents?: ApiPageable<ISkDocumentPublicList>;\n}\n","import { ISkArticle, SkArticle } from './article';\nimport { Audit, IAudit } from './audit';\nimport { ISkDocumentPublicList } from './document';\nimport {\n SkBrand,\n SkCatalogEmbed,\n SkCategory,\n SkKeyword,\n SkNaverEpEmbed,\n SkOpengraph,\n SkSubCategoryItem,\n SkValueType\n} from './etc';\nimport { ISkFile, SkFile } from './file';\nimport { SkPaymentStatus } from './payment';\nimport { ISkPromotionGiftGroupItem, ISkPromotionPublicList } from './promotion';\n\nexport interface SkProductCount {\n total?: number;\n trash?: number;\n}\n\nexport interface SkProductStockCount {\n totalIn?: number;\n totalOut?: number;\n current?: number;\n}\n\nexport enum SkProductType {\n Package = 'PACKAGE',\n Single = 'SINGLE'\n}\n\nexport enum SkProductStuffType {\n Hardware = 'HARDWARE',\n Software = 'SOFTWARE',\n Furniture = 'FURNITURE'\n}\n\nexport enum SkProductStatus {\n Preorder = 'PREORDER',\n Onsale = 'ONSALE',\n Soldout = 'SOLDOUT',\n Deactivate = 'DEACTIVATE'\n}\n\nexport enum SkProductAccessPolicy {\n Public = 'PUBLIC',\n Hidden = 'HIDDEN',\n PrivateLink = 'PRIVATE_LINK',\n PrivateUser = 'PRIVATE_USER'\n}\n\nexport interface ISkProductBrand {\n id?: number;\n product?: ISkProduct;\n brand?: SkBrand;\n isDefault?: boolean;\n}\n\nexport class SkProductBrand {\n id: number;\n product: SkProduct;\n brand: SkBrand;\n isDefault: boolean;\n\n constructor(data: ISkProductBrand = {}) {\n this.id = data.id;\n this.product = data.product ? new SkProduct(data.product) : null;\n this.brand = data.brand;\n this.isDefault = data.isDefault || false;\n }\n}\n\nexport interface ISkProductCategory {\n id?: number;\n product?: ISkProduct;\n category?: SkCategory;\n isDefault?: boolean;\n}\n\nexport class SkProductCategory {\n id: number;\n product: SkProduct;\n category: SkCategory;\n isDefault: boolean;\n\n constructor(data: ISkProductCategory = {}) {\n this.id = data.id;\n this.product = data.product ? new SkProduct(data.product) : null;\n this.category = data.category;\n this.isDefault = data.isDefault || false;\n }\n}\n\nexport interface ISkProductImage {\n id?: number;\n product?: ISkProduct;\n file?: ISkFile;\n orderIndex?: number;\n}\n\nexport class SkProductImage {\n id: number;\n product: SkProduct;\n file: SkFile;\n orderIndex: number;\n\n constructor(data: ISkProductImage = {}) {\n this.id = data.id;\n this.product = data.product ? new SkProduct(data.product) : new SkProduct();\n this.file = data.file ? new SkFile(data.file) : new SkFile();\n this.orderIndex = data.orderIndex || -1;\n }\n}\n\nexport enum SkProductOptionType {\n Base = 'BASE', // 기본옵션 (상품의 가격 범위 산정에 영향을 미침)\n Additional = 'ADDITIONAL', // 부가옵션 (상품의 가격 범위 산정에 영향을 미치지 않는다.)\n Multiple = 'MULTIPLE' // 추가옵션 (가격 범위 산정에 영향을 미치지 않으며, 중복으로 선택 가능하다)\n}\n\nexport interface ISkProductOption {\n id?: number;\n type?: SkProductOptionType;\n title?: string;\n values?: ISkProductOptionValue[];\n promotionOption?: boolean;\n}\n\nexport interface ISkProductOptionValue {\n id?: number;\n title?: string;\n value?: string;\n addedPrice?: number;\n}\n\nexport interface ISkProductOptionAnswer {\n id?: number;\n value?: any;\n}\n\nexport interface ISkProductPackage {\n id?: number;\n children?: ISkProduct;\n hidden?: boolean;\n share?: number;\n amount?: number;\n}\n\nexport class SkProductPackage {\n id: number;\n children: SkProduct;\n hidden: boolean;\n share: number;\n amount: number;\n\n constructor(data: ISkProductPackage = {}) {\n this.id = data.id;\n this.children = data.children ? new SkProduct(data.children) : null;\n this.hidden = data.hidden || false;\n this.share = data.share || (data.children ? data.children.price.retail : 0);\n this.amount = data.amount || 1;\n }\n}\n\nexport interface SkProductPrice {\n message?: string;\n quotaFree?: boolean;\n paymentNaver?: boolean;\n original?: number;\n retail?: number;\n pointAmount?: number;\n pointType?: SkValueType;\n rebateAmount?: number;\n rebateType?: SkValueType;\n maxUsablePoint?: number;\n wholesaleNormal?: number;\n wholesaleDealer?: number;\n wholesaleConditionA?: number;\n wholesaleConditionB?: number;\n wholesaleConditionC?: number;\n useVarPrice?: boolean;\n useVarPriceXc?: boolean;\n varCurrency?: string;\n varFormula?: string;\n varMap?: number;\n varCost?: number;\n varAddAmount?: number;\n varAddPercent?: number;\n varUpdatedDate?: string;\n}\n\nexport interface SkProductStock {\n useStockHistory?: boolean;\n useAutoStatusChange?: boolean;\n useXchangeApi?: boolean;\n}\n\nexport interface SkProductEDelivery {\n sku?: string;\n downloadLink?: string;\n template?: string;\n}\n\nexport interface ISkProductStockHistory extends IAudit {\n id?: number;\n used?: boolean;\n serial?: string;\n memo?: string;\n}\n\n\nexport interface ISkProduct extends IAudit {\n id?: number;\n title?: string;\n code?: string;\n url?: string;\n type?: SkProductType;\n stuffType?: SkProductStuffType;\n status?: SkProductStatus;\n preorderStartDate?: string;\n brands?: ISkProductBrand[];\n categories?: ISkProductCategory[];\n keywords?: SkKeyword[];\n images?: ISkProductImage[];\n accessPolicy?: SkProductAccessPolicy;\n accessPolicyValue?: string;\n price?: SkProductPrice;\n stockConfig?: SkProductStock;\n edelivery?: SkProductEDelivery;\n furnitureAssembly?: boolean;\n opengraph?: SkOpengraph;\n naverep?: SkNaverEpEmbed;\n catalog?: SkCatalogEmbed;\n options?: ISkProductOption[];\n articleDesc?: ISkArticle;\n articleSpec?: ISkArticle;\n packages?: ISkProductPackage[];\n activated?: boolean;\n listOrder?: number;\n viewCount?: number;\n simpleText?: string;\n}\n\nexport class SkProduct extends Audit {\n id: number;\n title: string;\n code?: string;\n url?: string;\n type: SkProductType;\n stuffType: SkProductStuffType;\n status: SkProductStatus;\n preorderStartDate: string;\n brands: SkProductBrand[];\n categories: SkProductCategory[];\n keywords: SkKeyword[];\n images: SkProductImage[];\n accessPolicy: SkProductAccessPolicy;\n accessPolicyValue: string;\n price: SkProductPrice;\n stockConfig: SkProductStock;\n edelivery: SkProductEDelivery;\n furnitureAssembly: boolean;\n opengraph: SkOpengraph;\n naverep: SkNaverEpEmbed;\n catalog: SkCatalogEmbed;\n options: ISkProductOption[];\n articleDesc: ISkArticle;\n articleSpec: ISkArticle;\n packages: SkProductPackage[];\n activated: boolean;\n listOrder: number;\n viewCount: number;\n simpleText: string;\n\n constructor(data: ISkProduct = {}) {\n super(data);\n\n this.id = data.id;\n this.title = data.title;\n this.code = data.code;\n this.url = data.url;\n this.type = data.type || SkProductType.Single;\n this.stuffType = data.stuffType;\n this.status = data.status || SkProductStatus.Onsale;\n this.preorderStartDate = data.preorderStartDate;\n this.brands = (data.brands || []).map(item => new SkProductBrand(item));\n this.categories = (data.categories || []).map(item => new SkProductCategory(item));\n this.keywords = (data.keywords || []);\n this.images = (data.images || []).map(item => new SkProductImage(item));\n this.accessPolicy = data.accessPolicy || SkProductAccessPolicy.Public;\n this.accessPolicyValue = data.accessPolicyValue;\n this.price = Object.assign({}, {\n message: '',\n quotaFree: false,\n paymentNaver: false,\n original: 0,\n retail: 0,\n pointAmount: 0,\n pointType: 'AMOUNT',\n maxUsablePoint: 50,\n wholesaleNormal: 0,\n wholesaleDealer: 0,\n wholesaleConditionA: 0,\n wholesaleConditionB: 0,\n wholesaleConditionC: 0,\n useVarPrice: false,\n useVarPriceXc: false,\n varCurrency: 'USD',\n varFormula: '',\n varMap: 0,\n varCost: 0,\n varAddAmount: 0,\n varAddPercent: 0,\n varUpdatedDate: null\n }, data.price);\n this.stockConfig = Object.assign({}, {useStockHistory: false, useAutoStatusChange: false, useXchangeApi: false}, data.stockConfig);\n this.opengraph = Object.assign({}, {ogTitle: '', ogAutoFill: true, ogDesc: '', ogImage: null}, data.opengraph);\n this.naverep = Object.assign({}, {naverepShow: true, naverepCustom: false, naverepTitle: '', naverepCategory: ''}, data.naverep);\n this.catalog = Object.assign({}, {catalogShow: true, catalogCustom: false, catalogTitle: '', catalogCategory: null}, data.catalog );\n this.edelivery = Object.assign({}, {sku: '', downloadLink: '', template: ''}, data.edelivery);\n this.furnitureAssembly = data.furnitureAssembly || false;\n this.options = data.options || [];\n this.articleDesc = data.articleDesc ? new SkArticle(data.articleDesc) : new SkArticle();\n this.articleSpec = data.articleSpec ? new SkArticle(data.articleSpec) : new SkArticle();\n this.packages = (data.packages || []).map(item => new SkProductPackage(item));\n this.activated = data.activated || false;\n this.listOrder = data.listOrder || 0;\n this.viewCount = data.viewCount || 0;\n this.simpleText = data.simpleText || '';\n }\n\n isEmpty(): boolean {\n return !this.id;\n }\n}\n\nexport interface SkProductListItem {\n id?: number;\n title?: string;\n code?: string;\n url?: string;\n type?: SkProductType;\n stuffType?: SkProductStuffType;\n status?: SkProductStatus;\n hasPromotion?: boolean;\n hasGift?: boolean;\n realtimeSoftware?: boolean;\n furnitureAssembly?: boolean;\n brandName?: string;\n brandId?: number;\n brands?: ISkProductBrandItem[];\n\n wishlistCount?: number;\n wishlistMe?: boolean;\n image?: ISkFile;\n\n quotaFree?: boolean;\n priceMessage?: string;\n priceOriginal?: number;\n priceDiscounted?: number;\n priceMin?: number;\n priceMax?: number;\n\n packageItems?: ISkProductPackageListItem[];\n\n accessPolicy?: SkProductAccessPolicy;\n accessPolicyValue?: string;\n}\n\nexport interface ISkProductDetail extends SkProductListItem {\n point?: number;\n includedInPackage?: boolean;\n images?: ISkFile[];\n simpleText?: string;\n articleDesc?: ISkArticle;\n articleSpec?: ISkArticle;\n opengraph?: SkOpengraph;\n paymentNaver?: boolean;\n packageItems?: ISkProductPackageListItem[];\n linkedSeries?: ISkProductDetailSeries[];\n linkedDocuments?: ISkDocumentPublicList[];\n linkedPromotions?: ISkPromotionPublicList[];\n linkedPromotionGiftGroups?: ISkPromotionGiftGroupItem[];\n}\n\nexport interface ISkProductPackageListItem {\n id?: number;\n product?: SkProductListItem;\n showSpec?: boolean;\n showDesc?: boolean;\n orderIndex?: number;\n amount?: number;\n}\n\nexport interface SkProductWishlist {\n wishlistCount?: number;\n wishlistMe?: boolean;\n}\n\nexport interface ISkProductDetailSeriesItem {\n id?: number;\n title?: string;\n url?: string;\n}\n\nexport interface ISkProductDetailSeries {\n id?: number;\n title?: string;\n items?: ISkProductDetailSeriesItem[];\n}\n\nexport interface ISkProductFilterData {\n lowestPrice?: number;\n highestPrice?: number;\n minPrice?: number;\n maxPrice?: number;\n availableBrands?: SkBrand[];\n availableCategories?: SkCategory[];\n availableSubCategories?: SkCategory[];\n selectedSubCategoryItems?: SkSubCategoryItem[];\n}\n\nexport interface ISkProductBrandItem {\n id: number;\n name: string;\n}\n\nexport interface ISkProductPublish {\n id?: number;\n productId?: number;\n status?: SkProductStatus;\n preorderStartDate?: string;\n accessPolicy?: SkProductAccessPolicy;\n actionDate?: string;\n activated?: boolean;\n}\n\nexport function getSkProductStatusText(status: SkProductStatus) {\n switch (status) {\n case SkProductStatus.Deactivate:\n return '판매 중지';\n case SkProductStatus.Onsale:\n return '판매중';\n case SkProductStatus.Preorder:\n return '예약판매';\n case SkProductStatus.Soldout:\n return '품절';\n default:\n return status;\n }\n}\n\nexport function getSkProductAccessPolicyText(accessPolicy: SkProductAccessPolicy) {\n switch (accessPolicy) {\n case SkProductAccessPolicy.Hidden:\n return '어드민 외 접근불가';\n case SkProductAccessPolicy.PrivateLink:\n return '링크로만 접근 가능';\n case SkProductAccessPolicy.PrivateUser:\n return '해당 유저만 접근 가능';\n case SkProductAccessPolicy.Public:\n return '공개';\n default:\n return accessPolicy;\n }\n}\n\n\n","import {Audit, IAudit} from \"./audit\";\nimport {ISkFile, SkFile} from \"./file\";\nimport {ISkArticle, SkArticle} from \"./article\";\nimport {ISkBoard, SkBoard} from \"./board\";\nimport { ISkProduct, SkProduct, SkProductAccessPolicy, SkProductStatus } from \"./product\";\nimport {SkCategory, SkOpengraph} from \"./etc\";\nimport {ISkUser, SkUser} from \"./user\";\n\nexport interface SkDocumentCount {\n total?: number;\n trash?: number;\n}\n\nexport interface ISkDocumentSibling {\n id?: number;\n url?: string;\n}\n\nexport enum SkDocumentType {\n Editorial = 'EDITORIAL',\n Studio = 'STUDIO',\n Post = 'POST',\n Page = 'PAGE'\n}\n\nexport interface ISkDocumentAttachment {\n id?: number;\n file?: any;\n title?: string;\n url?: string;\n}\n\nexport class SkDocumentAttachment {\n id: number;\n file: SkFile;\n title: string;\n url: string;\n\n constructor(data: ISkDocumentAttachment = {}) {\n this.id = data.id;\n this.file = new SkFile(data.file);\n this.title = data.title;\n this.url = data.url;\n }\n}\n\nexport interface ISkDocument extends IAudit {\n id?: number;\n type?: SkDocumentType;\n url?: string;\n title?: string;\n author?: ISkUser;\n activate?: boolean;\n published?: boolean;\n secret?: boolean;\n notice?: boolean;\n article?: ISkArticle;\n image?: ISkFile;\n imageAlt?: ISkFile;\n board?: ISkBoard;\n category?: SkCategory;\n linkedProduct?: ISkProduct[];\n attachment?: ISkDocumentAttachment[];\n viewCount?: number;\n listOrder?: number;\n opengraph?: SkOpengraph;\n}\n\nexport class SkDocument extends Audit {\n id: number;\n type: SkDocumentType;\n url: string;\n title: string;\n author: SkUser;\n activate: boolean;\n published: boolean;\n secret: boolean;\n notice: boolean;\n article: SkArticle;\n image: SkFile;\n imageAlt: SkFile;\n board: SkBoard;\n category: SkCategory;\n linkedProduct: SkProduct[];\n attachment: SkDocumentAttachment[];\n viewCount: number;\n listOrder: number;\n opengraph: SkOpengraph;\n\n constructor(data: ISkDocument = {}) {\n super(data);\n\n this.id = data.id;\n this.type = data.type;\n this.url = data.url;\n this.title = data.title;\n this.author = data.author ? new SkUser(data.author) : null;\n this.activate = data.activate || false;\n this.published = data.published || false;\n this.secret = data.secret || false;\n this.notice = data.notice || false;\n this.article = data.article ? new SkArticle(data.article) : null;\n this.image = data.image ? new SkFile(data.image) : null;\n this.imageAlt = data.imageAlt ? new SkFile(data.imageAlt): null;\n this.board = data.board ? new SkBoard(data.board) : null;\n this.category = data.category;\n this.linkedProduct = (data.linkedProduct || []).map(item => new SkProduct(item));\n this.attachment = (data.attachment || []).map(item => new SkDocumentAttachment(item));\n this.viewCount = data.viewCount;\n this.listOrder = data.listOrder || 0;\n this.opengraph = Object.assign({}, {ogTitle: '', ogAutoFill: true, ogDesc: '', ogImage: null}, data.opengraph);\n }\n\n isEmpty(): boolean {\n return !this.id;\n }\n}\n\nexport interface ISkDocumentPublicList {\n id?: number;\n url?: string;\n type?: SkDocumentType;\n category?: SkCategory;\n title?: string;\n boardUrl?: string;\n boardName?: string;\n desc?: String;\n image?: ISkFile;\n imageAlt?: ISkFile;\n subImages?: number[];\n authorId?: number;\n authorNickname?: string;\n authorEmail?: string;\n createdDate?: string;\n}\n\nexport interface ISkDocumentPublish {\n id?: number;\n documentId?: number;\n published?: boolean;\n notice?: boolean;\n listOrder?: boolean;\n actionDate?: string;\n activated?: boolean;\n}\n","import { ISkProductDetail, ISkProductOption, ISkProductOptionValue } from './product';\nimport { ISkPromotionGiftItem } from './promotion';\n\nexport interface ISkCartOption {\n id?: number;\n option?: ISkProductOption;\n value?: ISkProductOptionValue;\n amount?: number;\n}\n\nexport interface ISkCart {\n id?: number;\n product?: ISkProductDetail;\n amount?: number;\n options?: ISkCartOption[];\n gifts?: ISkPromotionGiftItem[]\n}\n\nexport class SkCartOption {\n id: number;\n option: ISkProductOption;\n value: ISkProductOptionValue;\n amount: number;\n\n constructor(data: ISkCartOption = {}) {\n this.id = data.id || null;\n this.option = data.option;\n this.value = data.value;\n this.amount = data.amount || 1;\n }\n}\n\nexport class SkCart {\n id: number;\n product: ISkProductDetail;\n amount: number;\n options: SkCartOption[];\n gifts: ISkPromotionGiftItem[];\n\n constructor(data: ISkCart = {}) {\n this.id = data.id || null;\n this.product = data.product;\n this.amount = data.amount || 1;\n this.options = (data.options || []).map(item => new SkCartOption(item));\n this.gifts = data.gifts || [];\n }\n\n getSinglePrice(): number {\n const basePrice = Math.min(this.product.priceOriginal, this.product.priceDiscounted);\n const optionPrice = (this.options || []).map(item => item.value.addedPrice * item.amount).reduce((previousValue, currentValue) => previousValue + currentValue, 0);\n return basePrice + optionPrice;\n }\n\n getTotalPrice(): number {\n return this.getSinglePrice() * this.amount;\n }\n\n checkOptionExists(): boolean {\n return this.options.filter(option => !!option.value).length > 0;\n }\n}\n\nexport interface ISkCartOptionCreate {\n option: number;\n value: number;\n}\n\nexport interface ISkCartCreate {\n product: number;\n amount: number;\n selectedOptions: ISkCartOptionCreate[];\n selectedGifts: {id: number}[];\n}\n\n","import { ApiPageable } from 'sk-front-lib/api';\nimport { ISkArticle } from './article';\nimport { IAudit } from './audit';\nimport { ISkDocumentPublicList } from './document';\nimport { ISkFile } from './file';\nimport { SkProduct, SkProductListItem } from './product';\nimport { ISkPromotionPublicList } from './promotion';\nimport { ISkUser } from './user';\n\nexport interface SkOpengraph {\n ogAutoFill?: boolean;\n ogTitle?: string;\n ogDesc?: string;\n ogImage?: ISkFile;\n}\n\nexport interface SkNaverEpEmbed {\n naverepShow?: boolean;\n naverepCustom?: boolean;\n naverepTitle?: string;\n naverepCategory?: string;\n}\n\nexport interface SkCatalogEmbed {\n catalogShow?: boolean;\n catalogCustom?: boolean;\n catalogTitle?: string;\n catalogCategory?: number;\n}\n\nexport enum SkValueType {\n Amount = 'AMOUNT',\n Percent = 'PERCENT',\n Fixed = 'FIXED',\n Custom = 'CUSTOM'\n}\n\nexport enum SkGiftType {\n Real = 'REAL',\n Custom = 'CUSTOM'\n}\n\nexport interface SkBrand {\n id?: number;\n title?: string;\n content?: string;\n showDistribution?: boolean;\n listOrder?: number;\n image?: ISkFile;\n opengraph?: SkOpengraph;\n selected?: boolean;\n disabled?: boolean;\n hidden?: boolean;\n}\n\nexport enum SkCategoryType {\n Product = 'PRODUCT', // 상품 관련\n Promotion = 'PROMOTION', // 프로모션\n Editorial = 'EDITORIAL',\n Studio = 'STUDIO',\n Board = 'BOARD'\n}\n\nexport interface SkSubCategoryItem {\n id?: number;\n title?: string;\n selected?: boolean;\n disabled?: boolean;\n hidden?: boolean;\n}\n\nexport interface SkSubCategory {\n id?: number;\n title?: string;\n children?: SkSubCategoryItem[];\n}\n\nexport interface SkCategory {\n id?: number;\n title?: string;\n selected?: boolean;\n disabled?: boolean;\n hidden?: boolean;\n type?: SkCategoryType;\n subCategories?: SkSubCategory[];\n opengraph?: SkOpengraph;\n}\n\nexport interface SkKeyword {\n id?: number;\n title?: string;\n}\n\nexport interface ISkAddress {\n id?: number;\n title?: string;\n receiverName?: string;\n email?: string;\n phone?: string;\n phone2?: string;\n zipCode?: string;\n address?: string;\n address2?: string;\n isDefault?: boolean;\n}\n\nexport interface ISkStore {\n id?: number;\n name?: string;\n url?: string;\n address?: string;\n phone?: string;\n email?: string;\n mapKakaoUrl?: string;\n mapNaverUrl?: string;\n mapGoogleUrl?: string;\n mapEmbedUrl?: string;\n showDistribution?: boolean;\n brands?: SkBrand[];\n}\n\nexport class SkStore {\n id: number;\n name: string;\n url: string;\n address: string;\n phone: string;\n email: string;\n mapKakaoUrl: string;\n mapNaverUrl: string;\n mapGoogleUrl: string;\n mapEmbedUrl: string;\n showDistribution: boolean;\n brands: SkBrand[];\n\n constructor(data: ISkStore = {}) {\n Object.assign(this, {\n name: '',\n url: '',\n address: '',\n phone: '',\n email: '',\n mapKakaoUrl: '',\n mapNaverUrl: '',\n mapGoogleUrl: '',\n mapEmbedUrl: '',\n showDistribution: false,\n brands: []\n }, data);\n }\n}\n\nexport interface ISkSearchResult {\n product?: ApiPageable<SkProductListItem>;\n promotion?: ApiPageable<ISkPromotionPublicList>;\n editorial?: ApiPageable<ISkDocumentPublicList>;\n studio?: ApiPageable<ISkDocumentPublicList>;\n etc?: ApiPageable<ISkDocumentPublicList>;\n}\n\nexport interface ISkSearchKeyword {\n id?: number;\n keyword?: string;\n}\n\nexport interface ISkShippingFee {\n id?: number;\n zipCodeStart?: string;\n zipCodeEnd?: string;\n address?: string;\n fee?: number;\n}\n\nexport interface ISkIdTitleValue {\n id?: number | string;\n title?: string;\n value?: string;\n}\n\nexport interface SkBank {\n id?: number;\n name?: string;\n}\n\nexport enum SkAffiliateRequestStatus {\n Wait = 'WAIT',\n Approve = 'APPROVE',\n Deny = 'DENY',\n}\n\nexport enum SkAffiliateTargetType {\n None = 'NONE',\n All = 'ALL',\n Brand = 'BRAND',\n Category = 'CATEGORY',\n Product = 'PRODUCT'\n}\n\nexport enum SkAffiliateTargetApply {\n Include = 'INCLUDE',\n Exclude = 'EXCLUDE'\n}\n\nexport interface ISkAffiliateTarget {\n id?: number;\n type?: SkAffiliateTargetType;\n apply?: SkAffiliateTargetApply;\n orderIndex?: number;\n startDate?: string;\n endDate?: string;\n brand?: SkBrand;\n category?: SkCategory;\n products?: SkProduct[];\n rebateAmount?: number;\n rebateType?: SkValueType;\n activated?: boolean;\n}\n\nexport interface ISkAffiliateRequest extends IAudit {\n id: string,\n status: SkAffiliateRequestStatus,\n user: ISkUser,\n name: string,\n phoneNumber: string,\n social?: string,\n desc: ISkArticle,\n attachment?: ISkFile,\n denyReason?: string\n}\n\nexport interface ISkAffiliateStatsItem {\n date?: string;\n count?: number;\n sum?: number;\n sum2?: number;\n\n rank?: {\n id?: number;\n name?: string;\n count?: number;\n sum?: number;\n sum2?: number;\n }[]\n}\n\nexport interface ISkAffiliateRebateMonthly {\n id?: number;\n year?: number;\n month?: number;\n totalRebatePoint?: number;\n totalOrderCount?: number;\n totalProductView?: number;\n pointPaid?: boolean;\n paidDate?: boolean;\n}\n\nexport interface ISkAffiliateStats {\n dailyProductView?: ISkAffiliateStatsItem[];\n dailyPurchase?: ISkAffiliateStatsItem[];\n monthlyProductView?: ISkAffiliateStatsItem[];\n monthlyPurchase?: ISkAffiliateStatsItem[];\n monthlyRebates?: ISkAffiliateRebateMonthly[];\n}\n","import { ISkArticle, SkArticle } from './article';\nimport { Audit, IAudit } from './audit';\nimport { SkCategory, SkGiftType, SkOpengraph, SkValueType } from './etc';\nimport { ISkFile, SkFile } from './file';\nimport { ISkProduct, ISkProductOption, SkProduct, SkProductListItem } from './product';\n\nexport enum SkPromotionAccessPolicy {\n Public = 'PUBLIC',\n Hidden = 'HIDDEN'\n}\n\nexport enum SkPromotionGiftServeType {\n All = 'ALL',\n Select = 'SELECT'\n}\n\nexport interface SkPromotionCount {\n total?: number;\n trash?: number;\n}\n\nexport interface ISkPromotionGift {\n id?: number;\n product?: ISkProduct;\n amount?: number;\n\n type?: SkGiftType;\n optionTitle?: string;\n optionValueTitle?: string;\n optionAddedPrice?: number;\n customTitle?: string;\n customImage?: ISkFile;\n customBrandName?: string;\n customPrice?: number;\n}\n\nexport class SkPromotionGift {\n id: number;\n product: SkProduct;\n amount: number;\n\n type: SkGiftType;\n optionTitle: string;\n optionValueTitle: string;\n optionAddedPrice: number;\n customTitle: string;\n customImage: ISkFile;\n customBrandName: string;\n customPrice: number;\n\n constructor(data: ISkPromotionGift = {}) {\n this.id = data.id;\n this.product = data.product ? new SkProduct(data.product) : null;\n this.amount = data.amount || 1;\n\n this.type = data.type || SkGiftType.Real;\n this.optionTitle = data.optionTitle || '';\n this.optionValueTitle = data.optionValueTitle || '';\n this.optionAddedPrice = data.optionAddedPrice || 0;\n this.customTitle = data.customTitle || '';\n this.customImage = new SkFile(data.customImage || {});\n this.customBrandName = data.customBrandName || '';\n this.customPrice = data.customPrice || 0;\n }\n}\n\nexport interface ISkPromotionGiftGroup {\n id?: number;\n serveType?: SkPromotionGiftServeType;\n gifts?: ISkPromotionGift[];\n}\n\nexport class SkPromotionGiftGroup {\n id: number;\n serveType: SkPromotionGiftServeType;\n gifts: ISkPromotionGift[];\n\n constructor(data: ISkPromotionGiftGroup = {}) {\n this.id = data.id;\n this.serveType = data.serveType || SkPromotionGiftServeType.All;\n this.gifts = (data.gifts || []).map(item => new SkPromotionGift(item));\n }\n}\n\nexport interface ISkPromotionTarget {\n id?: number;\n promotion?: ISkPromotion;\n product?: ISkProduct;\n isLimited?: boolean;\n stockAmount?: number;\n discountType?: SkValueType;\n discountValue?: number;\n giftGroups?: ISkPromotionGiftGroup[];\n}\n\nexport class SkPromotionTarget {\n id: number;\n promotion: SkPromotion;\n product: SkProduct;\n isLimited: boolean;\n stockAmount: number;\n discountType: SkValueType;\n discountValue: number;\n giftGroups: SkPromotionGiftGroup[];\n\n constructor(data: ISkPromotionTarget = {}) {\n this.id = data.id;\n this.promotion = data.promotion ? new SkPromotion(data.promotion) : null;\n this.product = data.product ? new SkProduct(data.product) : null;\n this.isLimited = data.isLimited || false;\n this.stockAmount = data.stockAmount || 0;\n this.discountType = data.discountType;\n this.discountValue = data.discountValue || 0;\n this.giftGroups = (data.giftGroups || []).map(item => new SkPromotionGiftGroup(item));\n }\n}\n\nexport interface ISkPromotionCategory {\n id?: number;\n category?: SkCategory;\n}\n\nexport class SkPromotionCategory {\n id: number;\n category: SkCategory;\n\n constructor(data: ISkPromotionCategory = {}) {\n this.id = data.id;\n this.category = data.category;\n }\n}\n\nexport interface ISkPromotion extends IAudit {\n id?: number;\n title?: string;\n startDate?: string;\n endDate?: string;\n endDateString?: string;\n rebateString?: string;\n accessPolicy?: SkPromotionAccessPolicy;\n categories?: ISkPromotionCategory[];\n image?: ISkFile;\n imageAlt?: ISkFile;\n article?: ISkArticle;\n benefit?: ISkArticle;\n targets?: ISkPromotionTarget[];\n opengraph?: SkOpengraph;\n listOrder?: number;\n activated?: boolean;\n}\n\nexport class SkPromotion extends Audit {\n id: number;\n title: string;\n startDate: string;\n endDate: string;\n endDateString: string;\n rebateString: string;\n accessPolicy?: SkPromotionAccessPolicy;\n categories?: SkPromotionCategory[];\n image: SkFile;\n imageAlt: SkFile;\n article: SkArticle;\n benefit: SkArticle;\n targets: SkPromotionTarget[];\n opengraph: SkOpengraph;\n listOrder: number;\n activated: boolean;\n\n constructor(data: ISkPromotion = {}) {\n super(data);\n\n this.id = data.id;\n this.title = data.title || '';\n this.startDate = data.startDate;\n this.endDate = data.endDate;\n this.endDateString = data.endDateString || '';\n this.rebateString = data.rebateString || '';\n this.accessPolicy = data.accessPolicy || SkPromotionAccessPolicy.Public;\n this.categories = (data.categories || []).map(item => new SkPromotionCategory(item));\n this.image = data.image ? new SkFile(data.image) : null;\n this.imageAlt = data.imageAlt ? new SkFile(data.imageAlt) : null;\n this.article = data.article ? new SkArticle(data.article) : null;\n this.benefit = data.benefit ? new SkArticle(data.benefit) : null;\n this.targets = (data.targets || []).map(item => new SkPromotionTarget(item));\n this.opengraph = Object.assign({}, {ogTitle: '', ogAutoFill: true, ogDesc: '', ogImage: null}, data.opengraph);\n this.listOrder = data.listOrder;\n this.activated = data.activated;\n }\n\n isEmpty(): boolean {\n return !this.id;\n }\n}\n\nexport interface ISkPromotionGiftItem {\n id?: number;\n product?: SkProductListItem;\n amount?: number;\n type: SkGiftType;\n optionTitle: string;\n optionValueTitle: string;\n optionAddedPrice: number;\n customTitle: string;\n customImage: ISkFile;\n customBrandName: string;\n customPrice: number;\n}\n\nexport interface ISkPromotionGiftGroupItem {\n serveType?: SkPromotionGiftServeType;\n gifts?: ISkPromotionGiftItem[];\n}\n\nexport interface ISkPromotionTargetItem {\n productId?: number;\n product?: SkProductListItem;\n isLimited?: boolean;\n stockAmount?: number;\n discountType?: SkValueType;\n discountValue?: number;\n giftGroups?: ISkPromotionGiftGroupItem[];\n options?: ISkProductOption[];\n}\n\nexport interface ISkPromotionUpdateImage {\n image?: number;\n imageAlt?: number;\n}\n\nexport interface ISkPromotionPublicList {\n id?: number;\n image?: ISkFile;\n imageAlt?: ISkFile;\n title?: string;\n endDate?: string;\n endDateString?: string;\n rebateString?: string;\n}\n\nexport interface ISkPromotionPublicDetail extends ISkPromotionPublicList {\n content?: string;\n benefit?: string;\n targets?: ISkPromotionTargetItem[];\n opengraph?: SkOpengraph;\n}\n","import {IAudit} from './audit';\nimport {ISkAddress} from './etc';\nimport {ISkFile} from './file';\nimport {ISkPayment} from './payment';\nimport {ISkProductDetail} from './product';\nimport {ISkShipping, SkShippingMethod} from './shipping';\nimport {ISkAuthor, ISkUser, SkUser} from './user';\n\nexport interface ISkOrderCount {\n total?: number;\n wait?: number;\n paid?: number;\n process?: number;\n complete?: number;\n cancel?: number;\n}\n\nexport enum SkOrderType {\n Normal = 'NORMAL',\n Admin = 'ADMIN',\n DEALER = 'DEALER'\n}\n\nexport enum SkOrderStatus {\n Prepare = 'PREPARE', // 최초 주문 생성시 적용 상태.\n Progress = 'PROGRESS', // 결제 진행중.\n Wait = 'WAIT', // 결제 대기중 (무통장 입금)\n Paid = 'PAID', // 결제 완료.\n ProcessStart = 'PROCESS_START', // 결제 후 처리 시작 (사측이 확인한 상태)\n ProcessPartial = 'PROCESS_PARTIAL', // 결제 후 일부 처리중.\n Process = 'PROCESS', // 결제 후 처리중.\n Complete = 'COMPLETE', // 결제후 (배송 등 처리까지) 완료.\n CancelRequest = 'CANCEL_REQUEST', // 주문 취소 요청\n CancelSystem = 'CANCEL_SYSTEM', // 시스템에 의한 자동 취소\n Cancel = 'CANCEL', // 주문 취소\n Error = 'ERROR'\n}\n\nexport enum SkOrderCancelType {\n Just = 'JUST', // 구매 의사 없음 (변심)\n ModifyOrder = 'MODIFY_ORDER', // 주문 정보 변경\n Wrong = 'WRONG', // 다른 상품 잘못 주문\n Cheaper = 'CHEAPER', // 타 쇼핑몰에서 더 저렴하게 판매\n Error = 'ERROR' // 상품 정보 오류\n}\n\nexport function getSkOrderCancelTypeText(type: SkOrderCancelType) {\n switch (type) {\n case SkOrderCancelType.Just:\n return '구매 의사 없음 (변심)';\n case SkOrderCancelType.ModifyOrder:\n return '주문 정보 변경';\n case SkOrderCancelType.Wrong:\n return '다른 상품 잘못 주문';\n case SkOrderCancelType.Cheaper:\n return '타 쇼핑몰에서 더 저렴하게 판매';\n case SkOrderCancelType.Error:\n return '상품 정보 오류';\n default:\n return '코드(' + type + ')';\n }\n}\n\nexport function getSkOrderStatusText(status: SkOrderStatus) {\n switch (status) {\n case SkOrderStatus.Prepare:\n return '주문 생성중';\n case SkOrderStatus.Progress:\n return '결제 진행중';\n case SkOrderStatus.Wait:\n return '결제 대기중';\n case SkOrderStatus.Paid:\n return '결제 완료';\n case SkOrderStatus.ProcessStart:\n return '배송 준비중';\n case SkOrderStatus.ProcessPartial:\n return '부분 배송중';\n case SkOrderStatus.Process:\n return '배송중';\n case SkOrderStatus.Complete:\n return '배송 완료';\n case SkOrderStatus.CancelRequest:\n return '주문 취소 요청중'\n case SkOrderStatus.CancelSystem:\n return '시스템 취소'\n case SkOrderStatus.Cancel:\n return '주문 취소';\n case SkOrderStatus.Error:\n return '주문 오류(취소)';\n default:\n return '상태코드(' + status + ')';\n }\n}\n\nexport interface ISkOrderItemOption {\n id?: number;\n optionTitle?: string;\n valueTitle?: string;\n addedPrice?: number;\n amount?: number;\n}\n\nexport interface ISkOrderList {\n id?: string;\n title?: string;\n type?: SkOrderType;\n image?: ISkFile;\n status?: SkOrderStatus;\n\n user?: ISkAuthor;\n\n total?: number;\n subtotal?: number;\n shippingFee?: number;\n usedPoint?: number;\n\n createdDate?: string;\n}\n\nexport interface ISkOrderDetail {\n id?: string;\n title?: string;\n type?: SkOrderType;\n status?: SkOrderStatus;\n receiverName?: string;\n email?: string;\n phone?: string;\n items?: ISkOrderDetailItem[];\n payment?: ISkPayment;\n cancelType?: SkOrderCancelType;\n cancelDesc?: string;\n refundAccount?: string;\n shipping?: ISkShipping;\n\n user?: ISkUser;\n\n memo?: string;\n total?: number;\n subtotal?: number;\n shippingFee?: number;\n usedPoint?: number;\n discount?: number;\n maxUsablePoint?: number;\n affiliateKey?: string;\n\n createdDate?: string;\n}\n\nexport class SkOrderDetail {\n id: string;\n title: string;\n type: SkOrderType;\n status: SkOrderStatus;\n receiverName: string;\n email: string;\n phone: string;\n items: SkOrderDetailItem[];\n payment: ISkPayment;\n cancelType?: SkOrderCancelType;\n cancelDesc?: string;\n refundAccount?: string;\n shipping: ISkShipping;\n\n user: SkUser;\n\n memo: string;\n total: number;\n subtotal: number;\n shippingFee: number;\n usedPoint: number;\n maxUsablePoint: number;\n discount: number;\n affiliateKey?: string;\n\n createdDate: string;\n\n constructor(data: ISkOrderDetail = {}) {\n if (data === null) { data = {}; }\n Object.assign(this, data);\n\n this.user = data.user ? new SkUser(data.user) : null;\n this.items = (data.items || []).map(item => new SkOrderDetailItem(item));\n }\n}\n\nexport interface ISkOrderDetailItem {\n id?: number;\n product?: ISkProductDetail;\n amount?: number;\n options?: ISkOrderItemOption[];\n cartId?: string;\n price?: number;\n point?: number;\n couponDiscount?: number;\n}\n\nexport class SkOrderDetailItem {\n id: number;\n product: ISkProductDetail;\n amount: number;\n options: ISkOrderItemOption[];\n cartId: string;\n price: number;\n point: number;\n couponDiscount: number;\n originalPriceAtMoment: number;\n discountedPriceAtMoment: number;\n discountedMemo: string;\n\n constructor(data: ISkOrderDetailItem = {}) {\n if (data === null) { data = {}; }\n Object.assign(this, data);\n }\n\n getSinglePrice() {\n const basePrice = Math.min(this.product.priceOriginal, this.product.priceDiscounted);\n const optionPrice = (this.options || []).map(option => option.addedPrice * option.amount).reduce((previousValue, currentValue) => previousValue + currentValue, 0);\n\n return basePrice + optionPrice;\n }\n\n getTotalPrice() {\n return this.getSinglePrice() * this.amount;\n }\n\n checkOptionExists(): boolean {\n return (this.options || []).length > 0;\n }\n}\n\nexport interface ISkOrderReqProgress {\n addressData?: ISkAddress;\n createAddress?: boolean;\n usePoint?: number;\n banker?: string;\n memo?: string;\n method?: SkShippingMethod;\n useCoupons?: string[];\n}\n\nexport interface ISkOrderLog extends IAudit {\n id?: number;\n type?: 'SYSTEM' | 'MEMO';\n message?: string;\n}\n\nexport interface ISkValidateCoupon {\n discountAmount?: number;\n couponData?: {discountAmount: number, title: string, serial: string}[];\n}\n","export enum SkPaymentStatus {\n Transfer = 'TRANSFER', // 무통장 입금\n Card = 'CARD', // 일반 카드결제\n Card2 = 'CARD2', // 무이자 할부 카드결제\n Naver = 'NAVER', // 네이버 페이 (주문형)\n NaverPG = 'NAVER_PG', // 네이버 페이 (결제형)\n Kakao = 'KAKAO', // 카카오 페이\n Payco = 'PAYCO' // 페이코\n}\n\nexport interface ISkPayment {\n id?: string;\n type?: SkPaymentStatus;\n txId?: string;\n responseCode?: string;\n responseMessage?: string;\n cancelCode?: string;\n cancelMessage?: string;\n paidPrice?: number;\n banker?: string;\n bankExpireDate?: string;\n cardName?: string;\n cardQuota?: string;\n rawResponse?: string;\n rawCancelResponse?: string;\n paidDate?: string;\n}\n\nexport function getSkPaymentStatusText(status: SkPaymentStatus) {\n switch (status) {\n case SkPaymentStatus.Transfer:\n return '무통장입금';\n case SkPaymentStatus.Card:\n return '카드결제 (일반 무이자)';\n case SkPaymentStatus.Card2:\n return '카드결제 (분담 무이자)';\n case SkPaymentStatus.Kakao:\n return '카카오페이';\n case SkPaymentStatus.Payco:\n return 'PAYCO';\n case SkPaymentStatus.Naver:\n case SkPaymentStatus.NaverPG:\n return '네이버페이';\n default:\n return status;\n }\n}\n","import { SkProductListItem } from \"./product\";\n\nexport enum SkShippingStatus {\n Prepare = 'PREPARE', // 배송 준비중\n Progress = 'PROGRESS', // 배송중\n Done = 'DONE', // 배송 완료\n Fail = 'FAIL' // 배송 실패\n}\n\nexport enum SkShippingMethod {\n Normal = 'NORMAL',\n Normal2 = 'NORMAL2',\n Quick = 'QUICK',\n Visit = 'VISIT',\n Software = 'SOFTWARE',\n SoftwareRealtime = 'SOFTWARE_REALTIME',\n Howser = 'HOWSER',\n Howser2 = 'HOWSER2'\n}\n\nexport interface ISkShippingInfo {\n id?: number;\n memo?: string;\n method?: SkShippingMethod;\n status?: SkShippingStatus;\n orderItemId?: number;\n productInfo?: SkProductListItem;\n amount?: number;\n shippingCompanyName?: string;\n shippingCompanyCode?: string;\n trackingCode?: string;\n edeliveryInfo?: string;\n}\n\nexport interface ISkShipping {\n id?: number;\n receiverName?: string;\n email?: string;\n phone?: string;\n phone2?: string;\n zipCode?: string;\n address?: string;\n address2?: string;\n infoList?: ISkShippingInfo[];\n hardwareShipping?: boolean;\n softwareShipping?: boolean;\n}\n\nexport function getSkShippingMethodText(method: SkShippingMethod) {\n switch (method) {\n case SkShippingMethod.Normal:\n return '택배 배송';\n case SkShippingMethod.Normal2:\n return '착불 배송';\n case SkShippingMethod.Quick:\n return '퀵 배송 (착불)';\n case SkShippingMethod.Visit:\n return '방문 수령';\n case SkShippingMethod.Software:\n return '전자배송(수동)';\n case SkShippingMethod.SoftwareRealtime:\n return '전자배송(실시간)';\n case SkShippingMethod.Howser:\n return '가구 전문 배송(착불)'\n }\n}\n","export enum SkNicePayCreditCards {\n BC = '01', // 비씨\n KB = '02', // KB 국민\n KEB = '03', // 외환\n Samsung = '04', // 삼성\n Shinhan = '06', // 신한\n Hyundae = '07', // 현대\n Lotte = '08', // 롯데\n Hanmi = '09', // 한미\n SHanmi = '10', // 신세계한미\n City = '11', // 시티\n NH = '12', // 농협\n SuHyup = '13', // 수협\n PyungHwa = '14', // 평화\n Woori = '15', // 우리\n HanaSK = '16', // 하나 SK\n DongName = '17', // 동남(주택)\n JuTaek = '18', // 주택\n ChoHeung = '19', // 조흥(강원)\n ChuckHyup = '20', // 축협(농협)\n Gwangju = '21', // 광주\n Jeonbuk = '22', // 전북\n Jeju = '23', // 제주\n KDBC = '24', // 산은캐피탈\n VISA = '25', // 해외비자\n MASTER = '26', // 해외마스터\n Diners = '27', // 해외다이너스\n AMX = '28', // 해외 AMX\n JCB = '29', // 해외 JCB\n SKOKCashbag = '31', // SK-OKCashBag\n ePost = '32', // 우체국\n FSB = '33', // 저축은행\n UnionPay = '34', // 은련\n KFCC = '35', // 새마을금고\n KDB = '36', // KDB 산업\n Kakao = '37', // 카카오뱅크\n KBank = '38' // 케이뱅크\n}\n\nexport function getNicePayCreditCardTitle(value: SkNicePayCreditCards) {\n switch (value) {\n case SkNicePayCreditCards.BC: return '비씨카드';\n case SkNicePayCreditCards.KB: return 'KB국민카드';\n case SkNicePayCreditCards.KEB: return '외환카드';\n case SkNicePayCreditCards.Samsung: return '삼성카드';\n case SkNicePayCreditCards.Shinhan: return '신한카드';\n case SkNicePayCreditCards.Hyundae: return '현대카드';\n case SkNicePayCreditCards.Lotte: return '롯데카드';\n case SkNicePayCreditCards.Hanmi: return '한미카드';\n case SkNicePayCreditCards.SHanmi: return '신세계한미카드';\n case SkNicePayCreditCards.City: return '시티카드';\n case SkNicePayCreditCards.NH: return '농협카드';\n case SkNicePayCreditCards.SuHyup: return '수협카드';\n case SkNicePayCreditCards.PyungHwa: return '평화카드';\n case SkNicePayCreditCards.Woori: return '우리카드';\n case SkNicePayCreditCards.HanaSK: return '하나SK카드';\n case SkNicePayCreditCards.DongName: return '동남(주택)카드';\n case SkNicePayCreditCards.JuTaek: return '주택카드';\n case SkNicePayCreditCards.ChoHeung: return '조흥(강원)카드';\n case SkNicePayCreditCards.ChuckHyup: return '축협(농협)카드';\n case SkNicePayCreditCards.Gwangju: return '광주카드';\n case SkNicePayCreditCards.Jeonbuk: return '전북카드';\n case SkNicePayCreditCards.Jeju: return '제주카드';\n case SkNicePayCreditCards.KDBC: return '산은캐피탈카드';\n case SkNicePayCreditCards.VISA: return '해외비자카드';\n case SkNicePayCreditCards.MASTER: return '해외마스터카드';\n case SkNicePayCreditCards.Diners: return '해외다이너스카드';\n case SkNicePayCreditCards.AMX: return '해외AMX카드';\n case SkNicePayCreditCards.JCB: return '해외JCB카드';\n case SkNicePayCreditCards.SKOKCashbag: return 'SK-OKCashBag카드';\n case SkNicePayCreditCards.ePost: return '우체국카드';\n case SkNicePayCreditCards.FSB: return '저축은행카드';\n case SkNicePayCreditCards.UnionPay: return '은련카드';\n case SkNicePayCreditCards.KFCC: return '새마을금고카드';\n case SkNicePayCreditCards.KDB: return 'KDB산업카드';\n case SkNicePayCreditCards.Kakao: return '카카오뱅크카드';\n case SkNicePayCreditCards.KBank: return '케이뱅크카드';\n default: return `알수없음 (code: ${value})`;\n }\n}\n","import {ISkFile} from \"./file\";\nimport {Audit, IAudit} from \"./audit\";\n\nexport enum SkPointType {\n Add = 'ADD',\n Subtract = 'SUBTRACT'\n}\n\nexport interface ISkPoint extends IAudit{\n id?: number;\n type?: SkPointType;\n amount?: number;\n used?: boolean;\n cause?: string;\n expiredDate?: string;\n}\n\nexport class SkPoint extends Audit {\n id: number;\n type: SkPointType;\n amount: number;\n used: boolean;\n cause: string;\n expiredDate: string;\n\n constructor(data: ISkFile = {}) {\n super(data);\n Object.assign(this, data);\n }\n\n causeText(): string {\n let text = '';\n if (this.cause === 'ADMIN') {\n text = '어드민에 의해';\n\n if (this.type === SkPointType.Add) {\n text = text + ' 추가됨';\n } else if (this.type === SkPointType.Subtract) {\n text = text + ' 차감됨';\n }\n } else if (this.cause.startsWith('ORDER-')) {\n text = '주문(' + this.cause.replace('ORDER-', '') + ') 에 의해';\n\n if (this.type === SkPointType.Add) {\n text = text + ' 적립됨';\n } else if (this.type === SkPointType.Subtract) {\n text = text + ' 사용됨';\n }\n } else if (this.cause.startsWith('CANCEL-')) {\n text = '주문(' + this.cause.replace('CANCEL-', '') + ') 취소에 의해';\n\n if (this.type === SkPointType.Add) {\n text = text + ' 추가됨';\n } else if (this.type === SkPointType.Subtract) {\n text = text + ' 차감됨';\n }\n } else {\n text = this.cause;\n }\n\n return text;\n }\n}\n\nexport interface ISkPointAdd {\n type?: SkPointType;\n amount?: number;\n userId?: number;\n cause?: string;\n}\n\n","import { IAudit } from './audit';\nimport { ISkIdTitleValue, SkBrand, SkCategory, SkSubCategoryItem, SkValueType } from './etc';\nimport { ISkOrderList } from './order';\nimport { SkProductListItem } from './product';\nimport { ISkUser } from './user';\n\nexport enum SkCouponType {\n Code = 'CODE',\n Inject = 'INJECT'\n}\n\nexport enum SkCouponTarget {\n All = 'ALL',\n Brand = 'BRAND',\n Category = 'CATEGORY',\n SubCategory = 'SUBCATEGORY',\n Product = 'PRODUCT'\n}\n\nexport enum SkCouponTrigger {\n None = 'NONE',\n All = 'ALL',\n Brand = 'BRAND',\n Category = 'CATEGORY',\n SubCategory = 'SUBCATEGORY',\n Product = 'PRODUCT'\n}\n\nexport interface ISkCouponCount {\n total?: number;\n trash?: number;\n}\n\nexport interface ISkCouponListItem extends IAudit {\n id?: number;\n title?: string;\n type?: SkCouponType;\n startDate?: string;\n endDate?: string;\n forever?: boolean;\n singleCode?: string;\n activated?: boolean;\n}\n\nexport interface ISkCouponDetail extends ISkCouponListItem {\n usableWithOthers?: boolean; // 다른 쿠폰과 함께 사용 가능한지 여부\n duplicatable?: boolean; // 중복으로 사용 가능한지 여부\n anonymous?: boolean; // 비로그인 유저도 사용 가능 여부\n total?: number;\n used?: number;\n couponTarget?: SkCouponTarget;\n couponTargetBrands?: SkBrand[];\n couponTargetCategories?: SkCategory[];\n couponTargetSubCategories?: SkSubCategoryItem[];\n couponTargetProducts?: SkProductListItem[];\n couponTrigger?: SkCouponTrigger;\n couponTriggerAmount?: number;\n couponTriggerBrands?: SkBrand[];\n couponTriggerCategories?: SkCategory[];\n couponTriggerSubCategories?: SkSubCategoryItem[];\n couponTriggerProducts?: SkProductListItem[];\n discountAmount?: number;\n discountType?: SkValueType;\n minUsablePrice?: number;\n}\n\nexport interface ISkCouponTicket {\n id?: number;\n code?: string;\n coupon?: ISkCouponDetail;\n order?: ISkOrderList;\n user?: ISkUser;\n}\n\nexport interface ISkCouponTriggerUpdate {\n couponTrigger?: SkCouponTrigger;\n couponTriggerAmount?: number;\n couponTriggerBrandIds?: number[];\n couponTriggerCategoryIds?: number[];\n couponTriggerSubCategoryIds?: number[];\n couponTriggerProductIds?: number[];\n}\n\nexport interface ISkUserCouponInfo {\n id?: number;\n title?: string;\n code?: string;\n\n startDate?: string;\n endDate?: string;\n forever?: boolean;\n\n activated?: boolean;\n usableWithOthers?: boolean;\n\n couponTarget?: SkCouponTarget;\n couponTargetBrands?: ISkIdTitleValue[];\n couponTargetCategories?: ISkIdTitleValue[];\n couponTargetSubCategories?: ISkIdTitleValue[];\n couponTargetProducts?: ISkIdTitleValue[];\n\n discountAmount?: number;\n discountType?: SkValueType;\n minUsablePrice?: number;\n\n orderId?: string;\n paidDate?: string;\n}\n\nexport interface ISkUserCouponInfo {\n id?: number;\n title?: string;\n code?: string;\n\n startDate?: string;\n endDate?: string;\n forever?: boolean;\n\n activated?: boolean;\n usableWithOthers?: boolean;\n\n couponTarget?: SkCouponTarget;\n couponTargetBrands?: ISkIdTitleValue[];\n couponTargetCategories?: ISkIdTitleValue[];\n couponTargetSubCategories?: ISkIdTitleValue[];\n couponTargetProducts?: ISkIdTitleValue[];\n\n discountAmount?: number;\n discountType?: SkValueType;\n minUsablePrice?: number;\n\n orderId?: string;\n paidDate?: string;\n}\n","import {Audit, IAudit} from \"./audit\";\nimport {ISkDocumentPublicList} from \"./document\";\nimport {ISkUser, SkUser} from \"./user\";\n\nexport interface IComment extends IAudit {\n id?: number;\n author?: ISkUser;\n content?: string;\n secret?: boolean;\n}\n\nexport class SkComment extends Audit {\n id: number;\n author: SkUser;\n content: string;\n secret: boolean;\n\n constructor(data: IComment = {}) {\n super(data);\n\n this.id = data.id || null;\n this.author = new SkUser(data.author);\n this.content = data.content || '';\n this.secret = data.secret || false;\n }\n}\n\n\n/**\n * 문서용 댓글 데이터 정의\n */\n\nexport interface ISkDocumentCommentUpdate {\n content?: string;\n secret?: boolean;\n}\n\nexport interface ISkDocumentCommentWrite extends ISkDocumentCommentUpdate{\n documentId?: number;\n parentId?: number;\n}\n\nexport interface ISkDocumentCommentParent extends IComment {\n document?: ISkDocumentPublicList;\n\n childrens: ISkDocumentCommentChild[];\n childrenCount: number;\n}\n\nexport interface ISkDocumentCommentChild extends IComment {\n}\n\n\n\nexport class SkDocumentCommentParent extends SkComment {\n document: ISkDocumentPublicList;\n childrens: SkDocumentCommentChild[];\n childrenCount: number;\n\n constructor(data: ISkDocumentCommentParent) {\n super(data);\n\n this.document = data.document;\n this.childrens = (data.childrens || []).map(item => new SkDocumentCommentChild(item));\n this.childrenCount = data.childrenCount || 0;\n }\n}\n\nexport class SkDocumentCommentChild extends SkComment {\n constructor(data: ISkDocumentCommentChild) {\n super(data);\n }\n}\n\n","import {ISkUser} from \"./user\";\nimport {ISkFile} from \"./file\";\nimport {ISkProductDetail} from \"./product\";\nimport {ISkOrderDetail} from \"./order\";\nimport {IAudit} from \"./audit\";\n\nexport enum SkContactStatus {\n Open = 'OPEN',\n Close = 'CLOSE'\n}\n\nexport enum SkContactType {\n Normal = 'NORMAL', // 1:1 문의\n BeforeBuy = 'BEFOREBUY', // 구매전 상담\n Technical = 'TECHNICAL', // 기술지원\n Software = 'SOFTWARE', // 전자배송상품 문의\n AS = 'AS', // AS 문의\n}\n\nexport function getSkContactTypeText(type: SkContactType) {\n switch (type) {\n case SkContactType.Normal:\n return '1:1 문의';\n case SkContactType.BeforeBuy:\n return '구매전 상담';\n case SkContactType.Technical:\n return '기술지원';\n case SkContactType.Software:\n return '전자배송상품';\n case SkContactType.AS:\n return 'AS 문의';\n }\n}\n\nexport interface ISkContact extends IAudit {\n id?: number;\n status?: SkContactStatus;\n type?: SkContactType;\n\n user?: ISkUser;\n userName?: string;\n email?: string;\n phone?: string;\n title?: string;\n content?: string;\n attachment?: ISkFile;\n product?: ISkProductDetail;\n order?: ISkOrderDetail;\n seller?: string;\n serialNumber?: string;\n buyDate?: string;\n answers?: ISkContactAnswer[]\n}\n\nexport interface ISkContactAnswer extends IAudit {\n id?: number;\n user?: ISkUser;\n content?: string;\n}\n","export enum SkGridItemType {\n Icon = 'Icon',\n Image = 'Image',\n SlidePromotion = 'SlidePromotion',\n SlideShop = 'SlideShop',\n SlideEditorial = 'SlideEditorial',\n SlideStudio = 'SlideStudio',\n SlideCustom = 'SlideCustom'\n}\n\nexport interface ISkGridItemIconData {\n iconType?: 'material' | 'custom';\n icon?: string\n title?: string;\n url?: string;\n}\n\nexport class SkGridItemIconData {\n iconType: 'material' | 'custom';\n icon: string;\n title: string;\n url: string;\n\n constructor(data: ISkGridItemIconData = {}) {\n this.iconType = data.iconType || 'material';\n this.icon = data.icon || 'error_outline';\n this.url = data.url || '';\n this.title = data.title || '';\n }\n}\n\nexport interface ISkGridItemImageData {\n src?: string | number;\n title?: string;\n url?: string;\n}\n\nexport class SkGridItemImageData {\n src: string | number;\n title: string;\n url: string;\n\n constructor(data: ISkGridItemImageData = {}) {\n this.src = data.src || '';\n this.title = data.title || '';\n this.url = data.url;\n }\n}\n\nexport interface ISkGridItemSlideDataCustomFormat {\n imageId?: number;\n type?: string;\n title?: string;\n desc?: string;\n link?: string;\n}\n\nexport interface ISkGridItemSlideData {\n target?: 'featured' | 'latest' | string;\n count?: number;\n list?: any[] | number[] | ISkGridItemSlideDataCustomFormat[];\n lastImageId?: number;\n}\n\nexport class SkGridItemSlideData {\n target: 'featured' | 'latest' | string;\n count: number;\n list: any[] | number[] | ISkGridItemSlideDataCustomFormat[];\n lastImageId?: number;\n\n constructor(data: ISkGridItemSlideData = {}) {\n this.target = data.target || 'latest';\n this.count = data.count || 5;\n this.list = data.list || [];\n this.lastImageId = data.lastImageId;\n }\n}\n\nexport interface ISkGridItem {\n rowspan?: number;\n colspan?: number;\n type?: SkGridItemType\n value?: ISkGridItemSlideData | ISkGridItemIconData | ISkGridItemImageData;\n url?: string;\n}\n\nexport class SkGridItem {\n rowspan: number;\n colspan: number;\n type: SkGridItemType;\n value: SkGridItemSlideData | SkGridItemIconData | SkGridItemImageData;\n\n constructor(data: ISkGridItem = {}) {\n this.rowspan = data.rowspan || 1;\n this.colspan = data.colspan || 1;\n\n this.type = data.type || SkGridItemType.SlideEditorial;\n\n switch (this.type) {\n case SkGridItemType.Icon:\n this.value = new SkGridItemIconData(<ISkGridItemIconData> data.value);\n break;\n case SkGridItemType.Image:\n this.value = new SkGridItemImageData(<ISkGridItemImageData> data.value);\n break;\n case SkGridItemType.SlidePromotion:\n case SkGridItemType.SlideShop:\n case SkGridItemType.SlideEditorial:\n case SkGridItemType.SlideStudio:\n case SkGridItemType.SlideCustom:\n this.value = new SkGridItemSlideData(<ISkGridItemSlideData> data.value);\n }\n }\n}\n\nexport interface ISkGridData {\n cols?: number;\n gutterSize?: number;\n aspect?: string;\n items?: ISkGridItem[];\n}\n\nexport class SkGridData {\n cols: number;\n gutterSize: number;\n aspect: string;\n items: SkGridItem[];\n\n constructor(data: ISkGridData = {}) {\n this.cols = data.cols || 4;\n this.gutterSize = data.gutterSize || 0;\n this.aspect = data.aspect || '1:1';\n this.items = (data.items || []).map(item => new SkGridItem(item));\n }\n\n setItems(items: ISkGridItem[]) {\n this.items = (items || []).map(item => new SkGridItem(item));\n }\n\n setItem(item: ISkGridItem) {\n this.items.push(new SkGridItem(item))\n }\n\n updateItem(index: number, item: ISkGridItem) {\n this.items[index] = new SkGridItem(item);\n }\n\n removeItem(index: number) {\n this.items.splice(index, 1);\n }\n}\n\nexport interface ISkMobileMainData {\n editorials?: SkGridItemSlideData;\n studios?: SkGridItemSlideData;\n promotions?: SkGridItemSlideData;\n products?: SkGridItemSlideData;\n}\n\nexport class SkMobileMainData {\n editorials: SkGridItemSlideData;\n studios: SkGridItemSlideData;\n promotions: SkGridItemSlideData;\n products: SkGridItemSlideData;\n\n constructor(data: ISkMobileMainData = {}) {\n this.editorials = new SkGridItemSlideData(data.editorials);\n this.studios = new SkGridItemSlideData(data.studios);\n this.promotions = new SkGridItemSlideData(data.promotions);\n this.products = new SkGridItemSlideData(data.products);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sk-front-lib-search-address.mjs","sources":["../../../projects/sk-front-lib/search-address/src/sk-search-address.model.ts","../../../projects/sk-front-lib/search-address/src/sk-search-address.service.ts","../../../projects/sk-front-lib/search-address/src/dialog/dialog.component.ts","../../../projects/sk-front-lib/search-address/src/dialog/dialog.component.html","../../../projects/sk-front-lib/search-address/src/sk-search-address.directive.ts","../../../projects/sk-front-lib/search-address/src/sk-search-address.module.ts","../../../projects/sk-front-lib/search-address/src/sk-front-lib-search-address.ts"],"sourcesContent":["export interface SkDaumAddressModelInterface {\n postcode: string;\n postcode1: string;\n postcode2: string;\n postcodeSeq: string;\n zonecode: string;\n address: string;\n addressEnglish: string;\n addressType: string;\n bcode: string;\n bname: string;\n bname1: string;\n bname2: string;\n sido: string;\n sigungu: string;\n sigunguCode: string;\n userLanguageType: string;\n query: string;\n buildingName: string;\n buildingCode: string;\n apartment: string;\n jibunAddress: string;\n jibunAddressEnglish: string;\n roadAddress: string;\n roadAddressEnglish: string;\n autoRoadAddress: string;\n autoRoadAddressEnglish: string;\n autoJibunAddress: string;\n autoJibunAddressEnglish: string;\n userSelectedType: string;\n hname: string;\n roadnameCode: string;\n roadname: string;\n}\n\nexport class SkSearchAddressModel {\n constructor(public zipCode: string, public address: string, public addressExtra: string = '') {}\n}\n","import {ElementRef, Inject, Injectable, PLATFORM_ID} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\nimport {SkDaumAddressModelInterface, SkSearchAddressModel} from \"./sk-search-address.model\";\n\ndeclare var daum: any;\nconst url = '//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js';\n\n@Injectable({providedIn: 'root'})\nexport class SkSearchAddressService {\n\n injected = false;\n\n constructor(@Inject(PLATFORM_ID) private platformId: Object) {\n this.injectScript();\n }\n\n injectDialogContent(element: ElementRef): Promise<SkSearchAddressModel> {\n return new Promise(resolve => {\n new daum.Postcode({\n oncomplete: (data: SkDaumAddressModelInterface) => {\n resolve(this.buildSearchAddressModel(data));\n },\n width: '100%',\n height: element.nativeElement.offsetHeight,\n animation: true\n }).embed(element.nativeElement, {autoClose: false});\n });\n }\n\n injectScript() {\n if (isPlatformBrowser(this.platformId) && !this.injected) {\n const script = document.createElement('script');\n script.src = url;\n script.type = 'text/javascript';\n script.async = true;\n document.body.appendChild(script);\n this.injected = true;\n }\n }\n\n private buildSearchAddressModel(data: SkDaumAddressModelInterface): SkSearchAddressModel {\n\n // 아래의 코드는 다음 주소찾기에서 주소 파싱하는 부분을 그대로 가져옴\n\n // 각 주소의 노출 규칙에 따라 주소를 조합한다.\n // 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.\n let fullAddr = data.address; // 최종 주소 변수\n let extraAddr = ''; // 조합형 주소 변수\n\n // 기본 주소가 도로명 타입일때 조합한다.\n if (data.addressType === 'R') {\n // 법정동명이 있을 경우 추가한다.\n if (data.bname !== '') {\n extraAddr += data.bname;\n }\n // 건물명이 있을 경우 추가한다.\n if (data.buildingName !== '') {\n extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);\n }\n // 조합형주소의 유무에 따라 양쪽에 괄호를 추가하여 최종 주소를 만든다.\n fullAddr += (extraAddr !== '' ? ' (' + extraAddr + ')' : '');\n }\n\n return new SkSearchAddressModel(data.zonecode, fullAddr);\n }\n}\n","import {AfterViewInit, Component, ElementRef, ViewChild} from '@angular/core';\nimport {MatDialogRef} from '@angular/material/dialog';\nimport {SkSearchAddressService} from \"../sk-search-address.service\";\n\n@Component({\n selector: 'sk-search-address-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss']\n})\nexport class SearchAddressDialogComponent implements AfterViewInit {\n\n @ViewChild('content', {static: true, read: ElementRef}) contentRef: ElementRef;\n\n constructor(private dialogRef: MatDialogRef<SearchAddressDialogComponent>,\n private searchAddressService: SkSearchAddressService) {\n }\n\n ngAfterViewInit(): void {\n this.searchAddressService.injectDialogContent(this.contentRef)\n .then(result => this.dialogRef.close(result));\n }\n}\n","<mat-toolbar color=\"primary\" style=\"height: 52px; font-size: 16px;\">\n <span>주소 검색</span>\n <button mat-icon-button matDialogClose><mat-icon>close</mat-icon></button>\n</mat-toolbar>\n<div class=\"content\" #content>\n\n</div>\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\nimport {filter} from 'rxjs/operators';\nimport {SearchAddressDialogComponent} from './dialog/dialog.component';\nimport {MatDialog} from \"@angular/material/dialog\";\nimport {SkSearchAddressModel} from \"./sk-search-address.model\";\nimport {SkSearchAddressService} from \"./sk-search-address.service\";\n\n@Directive({\n selector: '[skSearchAddress]'\n})\nexport class SkSearchAddressDirective {\n\n @Input() skSearchAddress: SkSearchAddressModel;\n @Output() addressSelected = new EventEmitter<SkSearchAddressModel>();\n\n constructor(private dialog: MatDialog,\n private searchAddressService: SkSearchAddressService) {\n }\n\n @HostListener('click')\n openDialog() {\n this.dialog\n .open(SearchAddressDialogComponent, {\n panelClass: 'mat-dialog-no-padding',\n minWidth: '300px',\n maxWidth: '500px',\n data: this.skSearchAddress\n })\n .afterClosed()\n .pipe(filter(result => !!result))\n .subscribe(result => this.addressSelected.emit(result));\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {SearchAddressDialogComponent} from './dialog/dialog.component';\nimport {SkSearchAddressDirective} from \"./sk-search-address.directive\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatDialogModule\n ],\n exports: [\n SkSearchAddressDirective\n ],\n declarations: [\n SearchAddressDialogComponent,\n SkSearchAddressDirective\n ]\n})\nexport class SkSearchAddressModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2.SkSearchAddressService"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sk-front-lib-uploader.mjs","sources":["../../../projects/sk-front-lib/uploader/src/sk-uploader-file-item.model.ts","../../../projects/sk-front-lib/uploader/src/sk-uploader.animation.ts","../../../projects/sk-front-lib/uploader/src/sk-uploader.class.ts","../../../projects/sk-front-lib/uploader/src/sk-uploader.component.ts","../../../projects/sk-front-lib/uploader/src/sk-uploader.component.html","../../../projects/sk-front-lib/uploader/src/sk-uploader.directive.ts","../../../projects/sk-front-lib/uploader/src/sk-uploader.module.ts","../../../projects/sk-front-lib/uploader/src/sk-front-lib-uploader.ts"],"sourcesContent":["import {FileType, SkFile} from 'sk-front-lib/model';\n\nexport enum SkUploaderFileItemType {\n Local,\n API,\n Unidentified\n}\n\nexport enum SkUploaderFileItemStatus {\n WAIT,\n READY,\n UPLOADING,\n PROCESS,\n DONE,\n ERROR\n}\n\nexport class SkUploaderFileItem {\n\n private constructor(localFile?: File, skFile?: SkFile) {\n this.localFile = localFile;\n this.skFile = skFile;\n\n this.state = SkUploaderFileItemStatus.WAIT;\n this.progress = 0;\n\n if (this.localFile && !this.skFile) {\n this.itemType = SkUploaderFileItemType.Local;\n } else if (!this.localFile && this.skFile) {\n this.itemType = SkUploaderFileItemType.API;\n this.state = SkUploaderFileItemStatus.DONE;\n this.progress = 100;\n } else {\n this.itemType = SkUploaderFileItemType.Unidentified;\n }\n }\n\n get filename(): string {\n if (this.itemType === SkUploaderFileItemType.Local) {\n return this.localFile.name;\n } else if (this.itemType === SkUploaderFileItemType.API) {\n return this.skFile.sourceFilename;\n } else {\n return 'Unknown File';\n }\n }\n\n get size(): number {\n if (this.itemType === SkUploaderFileItemType.Local) {\n return this.localFile.size;\n } else if (this.itemType === SkUploaderFileItemType.API) {\n return this.skFile.fileSize;\n } else {\n return -1;\n }\n }\n\n get mime(): string {\n if (this.itemType === SkUploaderFileItemType.Local) {\n return this.localFile.type;\n } else if (this.itemType === SkUploaderFileItemType.API) {\n return this.skFile.mime;\n } else {\n return '';\n }\n }\n\n get icon(): string {\n if (this.itemType === SkUploaderFileItemType.Local) {\n return FileType.getMimeClass(this.localFile);\n } else if (this.itemType === SkUploaderFileItemType.API) {\n return FileType.getMimeClass(this.skFile);\n } else {\n return 'application';\n }\n }\n\n public localFile: File;\n public skFile: SkFile;\n public itemType: SkUploaderFileItemType;\n\n public state: SkUploaderFileItemStatus;\n public progress: number;\n\n\n\n // -----------------------------------------------------------------------------------------------------\n // @ Static Builder\n // -----------------------------------------------------------------------------------------------------\n\n static fromLocalFile(localFile: File): SkUploaderFileItem {\n return new SkUploaderFileItem(localFile);\n }\n\n static fromApi(skFile: SkFile): SkUploaderFileItem {\n return new SkUploaderFileItem(null, skFile);\n }\n\n // -----------------------------------------------------------------------------------------------------\n // @ State Method\n // -----------------------------------------------------------------------------------------------------\n\n public prepareUpload(): void {\n this.state = SkUploaderFileItemStatus.READY;\n }\n}\n","import {animate, animateChild, animation, query, stagger, style, transition, trigger, useAnimation} from '@angular/animations';\n\nconst customAnimation = animation([\n style({\n opacity : '{{opacity}}',\n transform: 'scale({{scale}}) translate3d({{x}}, {{y}}, {{z}})'\n }),\n animate('{{duration}} {{delay}} cubic-bezier(0.0, 0.0, 0.2, 1)', style('*'))\n], {\n params: {\n duration: '200ms',\n delay : '0ms',\n opacity : '0',\n scale : '1',\n x : '0',\n y : '0',\n z : '0'\n }\n});\n\nconst customOutAnimation = animation([\n style('*'),\n animate('{{duration}} {{delay}} cubic-bezier(0.0, 0.0, 0.2, 1)', style({\n opacity : '{{opacity}}',\n transform: 'scale({{scale}}) translate3d({{x}}, {{y}}, {{z}})'\n }))\n], {\n params: {\n duration: '200ms',\n delay : '0ms',\n opacity : '0',\n scale : '1',\n x : '0',\n y : '0',\n z : '0'\n }\n});\n\nexport const uploaderAnimations = [\n trigger('animate', [transition('void => *', [useAnimation(customAnimation)])]),\n trigger('animateOut', [transition('* => void', [useAnimation(customOutAnimation)])]),\n\n trigger('animateStagger', [\n transition('* => *',\n query('@*',\n [\n stagger('100ms', [\n animateChild()\n ])\n ], {optional: true})),\n ]),\n];\n","import {HttpEventType, HttpHeaders, HttpRequest, HttpResponse} from '@angular/common/http';\nimport {of} from 'rxjs';\nimport {catchError, last, map, tap} from 'rxjs/operators';\n\nimport {SkApiService} from 'sk-front-lib/api';\nimport {FileType, SkFile} from 'sk-front-lib/model';\nimport {SkUploaderFileItem, SkUploaderFileItemStatus} from './sk-uploader-file-item.model';\n\nexport interface FilterFunction {\n name: string;\n fn: (item?: SkUploaderFileItem, options?: SkFileUploaderOptions) => boolean;\n}\n\nexport interface SkFileUploaderOptions {\n allowedMimeType?: string[];\n allowedFileType?: string[];\n autoUpload?: boolean;\n filters?: FilterFunction[];\n maxFileSize?: number;\n queueLimit?: number;\n asyncLimit?: number;\n additionalParameter?: { [key: string]: any };\n parametersBeforeFiles?: boolean;\n}\n\nexport class SkFileUploader {\n\n public queue: SkUploaderFileItem[] = [];\n public progress = 0;\n\n private _failFilterIndex: number;\n\n public options: SkFileUploaderOptions = {\n autoUpload: false,\n filters: [],\n maxFileSize: 2 * 1024 * 1024 * 1024, // 2GB\n queueLimit: 1,\n asyncLimit: 2,\n };\n\n constructor(private apiService: SkApiService, options?: SkFileUploaderOptions, selectedFiles: SkFile[] = []) {\n this.setOptions(options);\n this.setSelectedFiles(selectedFiles);\n }\n\n // -----------------------------------------------------------------------------------------------------\n // @ Data Accessor\n // -----------------------------------------------------------------------------------------------------\n\n\n // -----------------------------------------------------------------------------------------------------\n // @ Uploader - Public methods\n // -----------------------------------------------------------------------------------------------------\n\n public setOptions(options: SkFileUploaderOptions): void {\n this.options = Object.assign(this.options, options);\n\n this.options.filters.unshift({ name: 'queueLimit', fn: this._queueLimitFilter });\n\n if (this.options.maxFileSize) {\n this.options.filters.unshift({ name: 'fileSize', fn: this._fileSizeFilter });\n }\n\n if (this.options.allowedFileType) {\n this.options.filters.unshift({ name: 'fileType', fn: this._fileTypeFilter });\n }\n\n if (this.options.allowedMimeType) {\n this.options.filters.unshift({ name: 'mimeType', fn: this._mimeTypeFilter });\n }\n }\n\n public setSelectedFiles(files: SkFile[]): void {\n const items: SkUploaderFileItem[] = files.map(file => SkUploaderFileItem.fromApi(file));\n this.addToQueue(items);\n }\n\n public addToQueue(files: SkUploaderFileItem[], filters?: FilterFunction[] | string): void {\n const arrayOfFilters = this._getFilters(filters);\n\n files.forEach(item => {\n if (this._isValidFile(item, arrayOfFilters, this.options) && !this._findByFilenameInQueue(item.filename)) {\n this.queue.push(item);\n }\n });\n\n this.updateProgress();\n }\n\n public removeFromQueue(file: SkUploaderFileItem): void {\n const index = this.queue.findIndex(value => value.filename === file.filename);\n\n this.queue.splice(index, 1);\n this.updateProgress();\n }\n\n public clearQueue(): void {\n while (this.queue.length) {\n this.removeFromQueue(this.queue[0]);\n }\n this.progress = 0;\n }\n\n public upload(item: SkUploaderFileItem) {\n this._processUpload(item);\n }\n\n public uploadAll(): void {\n const targetItems = this.getNotUploadedItems();\n targetItems.forEach(item => {\n item.prepareUpload();\n });\n\n if (targetItems.length > 0) {\n const max = Math.min(targetItems.length, this.options.asyncLimit);\n for (let i = 0; i < max; i++) {\n this.upload(targetItems[i]);\n }\n }\n }\n\n // -----------------------------------------------------------------------------------------------------\n // @ Private methods.\n // -----------------------------------------------------------------------------------------------------\n\n private updateProgress() {\n const uploaded = this.getDoneItems().length;\n const current = uploaded / this.queue.length * 100;\n this.progress = Math.ceil(current);\n }\n\n // -----------------------------------------------------------------------------------------------------\n // @ Uploader - Filters\n // -----------------------------------------------------------------------------------------------------\n\n protected _isValidFile(file: SkUploaderFileItem, filters: FilterFunction[], options: SkFileUploaderOptions): boolean {\n this._failFilterIndex = -1;\n return !filters.length ? true : filters.every((filter: FilterFunction) => {\n this._failFilterIndex++;\n return filter.fn.call(this, file, options);\n });\n }\n\n protected _getFilters(filters: FilterFunction[] | string): FilterFunction[] {\n if (!filters) {\n return this.options.filters;\n }\n if (Array.isArray(filters)) {\n return filters;\n }\n if (typeof filters === 'string') {\n const names = filters.match(/[^\\s,]+/g);\n return this.options.filters\n .filter((filter: any) => names.indexOf(filter.name) !== -1);\n }\n return this.options.filters;\n }\n\n protected _queueLimitFilter(): boolean {\n return this.options.queueLimit === undefined || this.queue.length < this.options.queueLimit;\n }\n\n public _mimeTypeFilter(item: SkUploaderFileItem): boolean {\n return !(this.options.allowedMimeType && this.options.allowedMimeType.indexOf(item.mime) === -1);\n }\n\n public _fileSizeFilter(item: SkUploaderFileItem): boolean {\n return !(this.options.maxFileSize && item.size > this.options.maxFileSize);\n }\n\n public _fileTypeFilter(item: SkUploaderFileItem): boolean {\n return !(this.options.allowedFileType &&\n this.options.allowedFileType.indexOf(FileType.getMimeClass(item.localFile ? item.localFile : item.skFile)) === -1);\n }\n\n // -----------------------------------------------------------------------------------------------------\n // @ Uploader - Upload biz logic\n // -----------------------------------------------------------------------------------------------------\n\n private _processUpload(item: SkUploaderFileItem) {\n if (item.state !== SkUploaderFileItemStatus.READY) {\n return;\n }\n\n const formData = new FormData();\n formData.append('file', item.localFile, item.filename);\n\n const request = new HttpRequest<any>('POST', this.apiService.apiServer + '/api/public/files/upload', formData, {\n reportProgress: true,\n headers: new HttpHeaders().set('Authorization', 'Bearer ' + this.apiService.getToken()).set('ngsw-bypass', 'true')\n });\n\n this.apiService.rawRequest<SkFile>(request).pipe(\n tap(event => {\n switch (event.type) {\n case HttpEventType.UploadProgress:\n // Compute and show the % done:\n const percentDone = Math.ceil(100 * event.loaded / event.total);\n item.progress = percentDone;\n\n if (item.progress >= 99) {\n item.state = SkUploaderFileItemStatus.PROCESS;\n } else {\n item.state = SkUploaderFileItemStatus.UPLOADING;\n }\n return;\n case HttpEventType.Response:\n item.state = SkUploaderFileItemStatus.DONE;\n return;\n default:\n return;\n }\n }),\n last(), // return last (completed) message to caller\n map((result: HttpResponse<any>) => result.body.data ? new SkFile(result.body.data) : null),\n catchError(err => {\n console.log(err);\n item.state = SkUploaderFileItemStatus.ERROR;\n return of(null);\n })\n ).subscribe(result => {\n if (result instanceof SkFile) {\n item.skFile = result;\n }\n\n this.updateProgress();\n const nextItems = this.getReadyItems();\n if (nextItems.length > 0) {\n this.upload(nextItems[0]);\n }\n });\n }\n\n\n\n\n\n\n\n\n // -----------------------------------------------------------------------------------------------------\n // @ Data Handlers\n // -----------------------------------------------------------------------------------------------------\n\n private _findByFilenameInQueue(name: string): boolean {\n return this.queue.findIndex(value => value.filename === name) > -1;\n }\n\n public getNotUploadedItems(): SkUploaderFileItem[] {\n return this.queue.filter((item: SkUploaderFileItem) => item.state === SkUploaderFileItemStatus.WAIT);\n }\n\n public getReadyItems(): SkUploaderFileItem[] {\n return this.queue.filter((item: SkUploaderFileItem) => item.state === SkUploaderFileItemStatus.READY);\n }\n\n public getDoneItems(): SkUploaderFileItem[] {\n return this.queue.filter((item: SkUploaderFileItem) => item.state === SkUploaderFileItemStatus.DONE);\n }\n\n}\n","import {Component, ElementRef, HostListener, Inject, OnInit, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport {SkApiService} from 'sk-front-lib/api';\nimport {SkUploaderFileItem} from './sk-uploader-file-item.model';\nimport {uploaderAnimations} from './sk-uploader.animation';\nimport {SkFileUploader} from './sk-uploader.class';\n\n@Component({\n selector: 'sk-uploader',\n templateUrl: './sk-uploader.component.html',\n styleUrls: ['./sk-uploader.component.scss'],\n encapsulation: ViewEncapsulation.None,\n animations: uploaderAnimations\n})\nexport class SkUploaderComponent implements OnInit {\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef<SkUploaderComponent>,\n private _apiService: SkApiService) {\n this.uploader = new SkFileUploader(this._apiService, data.options, data.selectedFile);\n }\n uploader: SkFileUploader;\n\n @ViewChild('file', {static: false})\n fileEl: ElementRef;\n\n @ViewChild('drag', {static: false})\n dragEl: ElementRef;\n\n\n dragClassActive = false;\n\n private static _getTransfer(event: any) {\n return event.dataTransfer ? event.dataTransfer : event.originalEvent.dataTransfer;\n }\n\n private static _haveFiles(types: any): any {\n if (!types) {\n return false;\n }\n\n if (types.indexOf) {\n return types.indexOf('Files') !== -1;\n } else if (types.contains) {\n return types.contains('Files');\n } else {\n return false;\n }\n }\n\n ngOnInit(): void {\n\n }\n\n save() {\n this.dialogRef.close(this.uploader.getDoneItems());\n }\n\n @HostListener('drop', ['$event'])\n public onDrop(event: any): void {\n const transfer = SkUploaderComponent._getTransfer(event);\n if (!transfer) {\n return;\n }\n this.preventAndStop(event);\n this.fileAdd(transfer.files);\n this.dragClassActive = false;\n }\n\n @HostListener('dragover', ['$event'])\n public onDragOver(event: any): void {\n const transfer = SkUploaderComponent._getTransfer(event);\n if (!SkUploaderComponent._haveFiles(transfer.types)) {\n return;\n }\n this.preventAndStop(event);\n this.dragClassActive = true;\n }\n\n @HostListener('dragleave', ['$event'])\n public onDragLeave(event: any): any {\n if (event.relatedTarget === this.dragEl.nativeElement) {\n return;\n }\n\n this.preventAndStop(event);\n this.dragClassActive = false;\n }\n\n\n // File methods\n // onFile\n\n public fileAdd(files: any) {\n if (!(files instanceof FileList)) {\n return;\n }\n\n const list: SkUploaderFileItem[] = [];\n for (let i = 0; i < files.length; i++) {\n list.push(SkUploaderFileItem.fromLocalFile(files.item(i)));\n }\n\n this.uploader.addToQueue(list);\n }\n\n public onBrowseFileComplete(): any {\n const files = this.fileEl.nativeElement.files;\n this.fileAdd(files);\n }\n\n public onDragComponentClick(): any {\n this.fileEl.nativeElement.click();\n }\n\n public preventAndStop(event: any): any {\n event.preventDefault();\n event.stopPropagation();\n }\n\n\n}\n","<mat-toolbar class=\"dialog-title\" color=\"primary\">\n <span class=\"title dialog-title\">File Uploader</span>\n <div class=\"space-fill\"></div>\n <button mat-icon-button mat-dialog-close aria-label=\"Close dialog\">\n <mat-icon>close</mat-icon>\n </button>\n</mat-toolbar>\n<div class=\"dialog-content\">\n <input type=\"file\" style=\"display: none\" #file (change)=\"onBrowseFileComplete()\" multiple />\n <div class=\"drag-section\" #drag (click)=\"onDragComponentClick()\" [class.active]=\"dragClassActive\">\n <mat-icon>cloud_upload</mat-icon>\n <p>Drag and drop or <strong>click to browse</strong></p>\n </div>\n <mat-list [@animateStagger]=\"{value:uploader.queue.length}\">\n <h3 mat-subheader>Selected Files ({{uploader.queue.length}})</h3>\n <mat-list-item class=\"selected-file\" *ngFor=\"let file of uploader.queue\"\n [@animate]=\"{value:'*',params:{x:'-25px', opacity:'0',duration:'200ms'}}\"\n [@animateOut]=\"{value:'*',params:{delay:'100ms',x:'-25px', opacity:'0',duration:'200ms'}}\"\n dense>\n <mat-icon class=\"type-icon\" [ngClass]=\"file.icon\" matListIcon></mat-icon>\n <div mat-line>\n <span class=\"file-name\">{{ file.filename }}</span>\n <span>{{ file.size | skByte }}</span>\n </div>\n <mat-progress-bar mat-line [mode]=\"file.state == 3 ? 'query' : 'determinate'\" [value]=\"file.progress\" color=\"accent\"></mat-progress-bar>\n <div mat-line>\n <ng-container [ngSwitch]=\"file.state\">\n <div *ngSwitchCase=\"0\">\n Selected\n </div>\n <div *ngSwitchCase=\"1\">\n Wait for upload\n </div>\n <div *ngSwitchCase=\"2\">\n Uploading\n </div>\n <div *ngSwitchCase=\"3\">\n Processing..\n </div>\n <div *ngSwitchCase=\"4\">\n Done.\n </div>\n <div *ngSwitchCase=\"5\">\n Failed\n </div>\n </ng-container>\n </div>\n <button mat-icon-button (click)=\"uploader.removeFromQueue(file)\">\n <mat-icon>delete</mat-icon>\n </button>\n </mat-list-item>\n <mat-divider *ngIf=\"uploader.queue.length === 0\"\n [@animate]=\"{value:'*',params:{delay: '300ms', opacity:'0',duration:'200ms'}}\"></mat-divider>\n <mat-list-item class=\"empty\" *ngIf=\"uploader.queue.length === 0\"\n [@animate]=\"{value:'*',params:{delay: '300ms', opacity:'0',duration:'200ms'}}\">\n <h2 mat-line>No file selected..</h2>\n </mat-list-item>\n </mat-list>\n</div>\n<mat-progress-bar mat-line mode=\"determinate\" [value]=\"uploader.progress\"></mat-progress-bar>\n<div class=\"dialog-actions\">\n <div>\n <button mat-flat-button color=\"warn\" (click)=\"uploader.clearQueue()\" [disabled]=\"uploader.queue.length === 0\">Clear all</button>\n </div>\n <div>\n <button mat-flat-button color=\"primary\"\n *ngIf=\"uploader.getNotUploadedItems().length > 0\"\n (click)=\"uploader.uploadAll()\">Start Upload</button>\n <button mat-flat-button color=\"accent\"\n *ngIf=\"uploader.getDoneItems().length === uploader.queue.length && uploader.getDoneItems().length > 0 \"\n style=\"margin-left: 8px\" (click)=\"save()\">Save</button>\n </div>\n</div>\n","import {Directive, EventEmitter, HostListener, Input, Output} from '@angular/core';\nimport {MatDialog} from '@angular/material/dialog';\nimport * as _ from 'lodash';\nimport {SkFile} from 'sk-front-lib/model';\nimport {SkUploaderFileItem} from './sk-uploader-file-item.model';\nimport {SkFileUploaderOptions} from './sk-uploader.class';\nimport {SkUploaderComponent} from './sk-uploader.component';\n\n@Directive({\n selector: '[skUploader]'\n})\nexport class SkUploaderDirective {\n\n @Input() skUploaderOptions: SkFileUploaderOptions;\n @Input() skSelected: SkFile[] | SkFile;\n\n @Output() skUploaderFileSelected: EventEmitter<any> = new EventEmitter<any>();\n\n @HostListener('click') onClick() {\n this._dialog.open(SkUploaderComponent, {\n panelClass: 'mat-dialog-no-padding',\n closeOnNavigation: true,\n autoFocus: false,\n data: {\n options: this.skUploaderOptions,\n selectedFile: !this.skSelected ? [] : (_.isArray(this.skSelected) ? this.skSelected : [<SkFile>this.skSelected])\n }\n }).afterClosed().subscribe((result: SkUploaderFileItem[]) => {\n if (result) {\n this.skUploaderFileSelected.emit(result.map(item => item.skFile));\n }\n });\n }\n\n constructor(private _dialog: MatDialog) { }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatListModule} from '@angular/material/list';\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\nimport {MatToolbarModule} from '@angular/material/toolbar';\n\nimport {SkFrontLibModule} from 'sk-front-lib';\n\nimport {SkUploaderComponent} from './sk-uploader.component';\nimport {SkUploaderDirective} from './sk-uploader.directive';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatDialogModule,\n MatToolbarModule,\n MatButtonModule,\n MatIconModule,\n MatListModule,\n MatProgressBarModule,\n SkFrontLibModule\n ],\n declarations: [\n SkUploaderComponent,\n SkUploaderDirective\n ],\n exports: [\n SkUploaderComponent,\n SkUploaderDirective\n ]\n})\nexport class SkUploaderModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
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
|
|
File without changes
|
/package/{esm2022 → esm2020}/google-analytics/initializers/google-analytics-router.initializer.mjs
RENAMED
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|