sk-front-lib 0.14.8 → 0.15.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/package.json +5 -6
- package/api/sk-api.module.d.ts +7 -0
- package/api/sk-api.service.d.ts +3 -0
- package/api/sk-front-lib-api.d.ts +1 -0
- package/article/package.json +5 -6
- package/article/sk-article-editor-server.component.d.ts +3 -0
- package/article/sk-article-editor.component.d.ts +3 -0
- package/article/sk-article-server.module.d.ts +6 -0
- package/article/sk-article.module.d.ts +7 -0
- package/article/sk-article.service.d.ts +3 -0
- package/article/sk-froala-editor.directive.d.ts +3 -0
- package/article/sk-front-lib-article.d.ts +1 -0
- package/crud/package.json +5 -6
- package/crud/sk-account.service.d.ts +3 -0
- package/crud/sk-auth-admin.guard.d.ts +3 -0
- package/crud/sk-auth.guard.d.ts +3 -0
- package/crud/sk-auth.service.d.ts +3 -0
- package/crud/sk-board.service.d.ts +3 -0
- package/crud/sk-brand.service.d.ts +3 -0
- package/crud/sk-cart.service.d.ts +7 -0
- package/crud/sk-category.service.d.ts +3 -0
- package/crud/sk-comment.service.d.ts +3 -0
- package/crud/sk-config.service.d.ts +3 -0
- package/crud/sk-contact.service.d.ts +3 -0
- package/crud/sk-coupon.service.d.ts +3 -0
- package/crud/sk-document.service.d.ts +3 -0
- package/crud/sk-etc.service.d.ts +3 -0
- package/crud/sk-file.service.d.ts +3 -0
- package/crud/sk-front-lib-crud.d.ts +1 -1
- package/crud/sk-keyword.service.d.ts +3 -0
- package/crud/sk-order.service.d.ts +3 -0
- package/crud/sk-point.service.d.ts +3 -0
- package/crud/sk-product.service.d.ts +4 -0
- package/crud/sk-promotion.service.d.ts +3 -0
- package/crud/sk-search.service.d.ts +3 -0
- package/crud/sk-store.service.d.ts +3 -0
- package/crud/sk-user.service.d.ts +3 -0
- package/{esm2015/api/model/api-config.js → esm2020/api/model/api-config.mjs} +0 -0
- package/{esm2015/api/model/api-pageable-param.js → esm2020/api/model/api-pageable-param.mjs} +0 -0
- package/{esm2015/api/model/api-pageable.js → esm2020/api/model/api-pageable.mjs} +0 -0
- package/{esm2015/api/model/api-response.js → esm2020/api/model/api-response.mjs} +0 -0
- package/{esm2015/api/model/index.js → esm2020/api/model/index.mjs} +0 -0
- package/{esm2015/api/public_api.js → esm2020/api/public_api.mjs} +0 -0
- package/esm2020/api/sk-api.module.mjs +35 -0
- package/esm2020/api/sk-api.service.mjs +145 -0
- package/{esm2015/api/sk-front-lib-api.js → esm2020/api/sk-front-lib-api.mjs} +0 -0
- package/{esm2015/article/public_api.js → esm2020/article/public_api.mjs} +0 -0
- package/esm2020/article/sk-article-editor-server.component.mjs +51 -0
- package/esm2020/article/sk-article-editor.component.mjs +93 -0
- package/esm2020/article/sk-article-server.module.mjs +33 -0
- package/esm2020/article/sk-article.module.mjs +32 -0
- package/esm2020/article/sk-article.service.mjs +248 -0
- package/esm2020/article/sk-froala-editor.directive.mjs +325 -0
- package/{esm2015/article/sk-front-lib-article.js → esm2020/article/sk-front-lib-article.mjs} +0 -0
- package/{esm2015/crud/public_api.js → esm2020/crud/public_api.mjs} +0 -0
- package/esm2020/crud/sk-account.service.mjs +36 -0
- package/esm2020/crud/sk-auth-admin.guard.mjs +31 -0
- package/esm2020/crud/sk-auth.guard.mjs +31 -0
- package/esm2020/crud/sk-auth.service.mjs +67 -0
- package/esm2020/crud/sk-board.service.mjs +54 -0
- package/esm2020/crud/sk-brand.service.mjs +46 -0
- package/esm2020/crud/sk-cart.service.mjs +255 -0
- package/esm2020/crud/sk-category.service.mjs +63 -0
- package/esm2020/crud/sk-comment.service.mjs +43 -0
- package/esm2020/crud/sk-config.service.mjs +31 -0
- package/esm2020/crud/sk-contact.service.mjs +39 -0
- package/esm2020/crud/sk-coupon.service.mjs +62 -0
- package/esm2020/crud/sk-document.service.mjs +95 -0
- package/esm2020/crud/sk-etc.service.mjs +25 -0
- package/esm2020/crud/sk-file.service.mjs +37 -0
- package/esm2020/crud/sk-front-lib-crud.mjs +5 -0
- package/esm2020/crud/sk-keyword.service.mjs +46 -0
- package/esm2020/crud/sk-order.service.mjs +133 -0
- package/esm2020/crud/sk-point.service.mjs +45 -0
- package/esm2020/crud/sk-product.service.mjs +156 -0
- package/esm2020/crud/sk-promotion.service.mjs +81 -0
- package/esm2020/crud/sk-search.service.mjs +25 -0
- package/esm2020/crud/sk-store.service.mjs +47 -0
- package/esm2020/crud/sk-user.service.mjs +69 -0
- package/esm2020/google-analytics/google-analytics-router.module.mjs +30 -0
- package/esm2020/google-analytics/google-analytics.module.mjs +40 -0
- package/esm2020/google-analytics/initializers/google-analytics-router.initializer.mjs +24 -0
- package/esm2020/google-analytics/initializers/google-analytics.initializer.mjs +46 -0
- package/{esm2015/google-analytics/interfaces/google-analytics-command.js → esm2020/google-analytics/interfaces/google-analytics-command.mjs} +0 -0
- package/{esm2015/google-analytics/interfaces/google-analytics-settings.js → esm2020/google-analytics/interfaces/google-analytics-settings.mjs} +0 -0
- package/{esm2015/google-analytics/public_api.js → esm2020/google-analytics/public_api.mjs} +0 -0
- package/esm2020/google-analytics/services/google-analytics.service.mjs +200 -0
- package/{esm2015/google-analytics/sk-front-lib-google-analytics.js → esm2020/google-analytics/sk-front-lib-google-analytics.mjs} +0 -0
- package/{esm2015/google-analytics/tokens/google-analytics-settings-token.js → esm2020/google-analytics/tokens/google-analytics-settings-token.mjs} +0 -0
- package/{esm2015/google-analytics/types/ga-action.type.js → esm2020/google-analytics/types/ga-action.type.mjs} +0 -0
- package/{esm2015/google-analytics/types/ga-bind.type.js → esm2020/google-analytics/types/ga-bind.type.mjs} +0 -0
- package/esm2020/image/public_api.mjs +3 -0
- package/esm2020/image/sk-front-lib-image.mjs +5 -0
- package/esm2020/image/sk-image.component.mjs +262 -0
- package/esm2020/image/sk-image.module.mjs +43 -0
- package/{esm2015/lib/sk-animations.js → esm2020/lib/sk-animations.mjs} +0 -0
- package/esm2020/lib/sk-byte.pipe.mjs +18 -0
- package/esm2020/lib/sk-date-time.pipe.mjs +16 -0
- package/esm2020/lib/sk-date.pipe.mjs +16 -0
- package/esm2020/lib/sk-front-lib.module.mjs +42 -0
- package/esm2020/lib/sk-keys.pipe.mjs +23 -0
- package/esm2020/lib/sk-time.pipe.mjs +16 -0
- package/{esm2015/lib/sk-utils.js → esm2020/lib/sk-utils.mjs} +0 -0
- package/{esm2015/model/lib/article.js → esm2020/model/lib/article.mjs} +0 -0
- package/{esm2015/model/lib/audit.js → esm2020/model/lib/audit.mjs} +0 -0
- package/{esm2015/model/lib/auth.js → esm2020/model/lib/auth.mjs} +0 -0
- package/{esm2015/model/lib/board.js → esm2020/model/lib/board.mjs} +0 -0
- package/{esm2015/model/lib/cart.js → esm2020/model/lib/cart.mjs} +0 -0
- package/{esm2015/model/lib/comment.js → esm2020/model/lib/comment.mjs} +0 -0
- package/{esm2015/model/lib/contact.js → esm2020/model/lib/contact.mjs} +0 -0
- package/{esm2015/model/lib/coupon.js → esm2020/model/lib/coupon.mjs} +0 -0
- package/{esm2015/model/lib/document.js → esm2020/model/lib/document.mjs} +0 -0
- package/{esm2015/model/lib/etc.js → esm2020/model/lib/etc.mjs} +0 -0
- package/{esm2015/model/lib/file.js → esm2020/model/lib/file.mjs} +0 -0
- package/{esm2015/model/lib/filetype.js → esm2020/model/lib/filetype.mjs} +0 -0
- package/{esm2015/model/lib/grid.js → esm2020/model/lib/grid.mjs} +0 -0
- package/{esm2015/model/lib/nicepay.js → esm2020/model/lib/nicepay.mjs} +0 -0
- package/{esm2015/model/lib/order.js → esm2020/model/lib/order.mjs} +0 -0
- package/{esm2015/model/lib/payment.js → esm2020/model/lib/payment.mjs} +0 -0
- package/{esm2015/model/lib/point.js → esm2020/model/lib/point.mjs} +0 -0
- package/{esm2015/model/lib/product-series.js → esm2020/model/lib/product-series.mjs} +0 -0
- package/{esm2015/model/lib/product.js → esm2020/model/lib/product.mjs} +1 -1
- package/esm2020/model/lib/promotion.mjs +79 -0
- package/{esm2015/model/lib/shipping.js → esm2020/model/lib/shipping.mjs} +0 -0
- package/{esm2015/model/lib/user.js → esm2020/model/lib/user.mjs} +0 -0
- package/{esm2015/model/public_api.js → esm2020/model/public_api.mjs} +0 -0
- package/{esm2015/model/sk-front-lib-model.js → esm2020/model/sk-front-lib-model.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +2 -1
- package/esm2020/search-address/dialog/dialog.component.mjs +27 -0
- package/{esm2015/search-address/public_api.js → esm2020/search-address/public_api.mjs} +0 -0
- package/esm2020/search-address/sk-front-lib-search-address.mjs +5 -0
- package/esm2020/search-address/sk-search-address.directive.mjs +41 -0
- package/{esm2015/search-address/sk-search-address.model.js → esm2020/search-address/sk-search-address.model.mjs} +0 -0
- package/esm2020/search-address/sk-search-address.module.mjs +52 -0
- package/{esm2015/search-address/sk-search-address.service.js → esm2020/search-address/sk-search-address.service.mjs} +10 -8
- package/esm2020/sk-front-lib.mjs +5 -0
- package/{esm2015/uploader/public_api.js → esm2020/uploader/public_api.mjs} +0 -0
- package/esm2020/uploader/sk-front-lib-uploader.mjs +5 -0
- package/{esm2015/uploader/sk-uploader-file-item.model.js → esm2020/uploader/sk-uploader-file-item.model.mjs} +0 -0
- package/{esm2015/uploader/sk-uploader.animation.js → esm2020/uploader/sk-uploader.animation.mjs} +0 -0
- package/{esm2015/uploader/sk-uploader.class.js → esm2020/uploader/sk-uploader.class.mjs} +0 -0
- 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 +62 -0
- package/fesm2015/sk-front-lib-api.mjs +218 -0
- package/fesm2015/sk-front-lib-api.mjs.map +1 -0
- package/fesm2015/{sk-front-lib-article.js → sk-front-lib-article.mjs} +183 -158
- package/fesm2015/sk-front-lib-article.mjs.map +1 -0
- package/fesm2015/sk-front-lib-crud.mjs +1403 -0
- package/fesm2015/sk-front-lib-crud.mjs.map +1 -0
- package/fesm2015/{sk-front-lib-google-analytics.js → sk-front-lib-google-analytics.mjs} +54 -33
- package/fesm2015/sk-front-lib-google-analytics.mjs.map +1 -0
- package/fesm2015/{sk-front-lib-image.js → sk-front-lib-image.mjs} +64 -48
- package/fesm2015/sk-front-lib-image.mjs.map +1 -0
- package/fesm2015/{sk-front-lib-model.js → sk-front-lib-model.mjs} +9 -2
- package/fesm2015/sk-front-lib-model.mjs.map +1 -0
- package/fesm2015/sk-front-lib-search-address.mjs +188 -0
- package/fesm2015/sk-front-lib-search-address.mjs.map +1 -0
- package/fesm2015/sk-front-lib-uploader.mjs +551 -0
- package/fesm2015/sk-front-lib-uploader.mjs.map +1 -0
- package/fesm2015/{sk-front-lib.js → sk-front-lib.mjs} +69 -41
- package/fesm2015/sk-front-lib.mjs.map +1 -0
- package/{fesm2015/sk-front-lib-api.js → fesm2020/sk-front-lib-api.mjs} +41 -26
- package/fesm2020/sk-front-lib-api.mjs.map +1 -0
- package/fesm2020/sk-front-lib-article.mjs +771 -0
- package/fesm2020/sk-front-lib-article.mjs.map +1 -0
- package/{fesm2015/sk-front-lib-crud.js → fesm2020/sk-front-lib-crud.mjs} +213 -236
- package/fesm2020/sk-front-lib-crud.mjs.map +1 -0
- package/fesm2020/sk-front-lib-google-analytics.mjs +336 -0
- package/fesm2020/sk-front-lib-google-analytics.mjs.map +1 -0
- package/fesm2020/sk-front-lib-image.mjs +309 -0
- package/fesm2020/sk-front-lib-image.mjs.map +1 -0
- package/fesm2020/sk-front-lib-model.mjs +1052 -0
- package/fesm2020/sk-front-lib-model.mjs.map +1 -0
- package/fesm2020/sk-front-lib-search-address.mjs +186 -0
- package/fesm2020/sk-front-lib-search-address.mjs.map +1 -0
- package/fesm2020/sk-front-lib-uploader.mjs +549 -0
- package/fesm2020/sk-front-lib-uploader.mjs.map +1 -0
- package/fesm2020/sk-front-lib.mjs +539 -0
- package/fesm2020/sk-front-lib.mjs.map +1 -0
- package/google-analytics/google-analytics-router.module.d.ts +6 -0
- package/google-analytics/google-analytics.module.d.ts +5 -0
- package/google-analytics/package.json +5 -6
- package/google-analytics/services/google-analytics.service.d.ts +3 -0
- package/google-analytics/sk-front-lib-google-analytics.d.ts +1 -0
- package/image/package.json +5 -6
- package/image/public_api.d.ts +1 -0
- package/image/sk-front-lib-image.d.ts +1 -1
- package/image/sk-image.component.d.ts +6 -3
- package/image/sk-image.module.d.ts +10 -0
- package/lib/sk-byte.pipe.d.ts +3 -0
- package/lib/sk-date-time.pipe.d.ts +3 -0
- package/lib/sk-date.pipe.d.ts +3 -0
- package/lib/sk-front-lib.module.d.ts +9 -0
- package/lib/sk-keys.pipe.d.ts +3 -0
- package/lib/sk-time.pipe.d.ts +3 -0
- package/model/lib/product.d.ts +1 -0
- package/model/lib/promotion.d.ts +12 -1
- package/model/package.json +5 -6
- package/model/sk-front-lib-model.d.ts +1 -0
- package/package.json +96 -20
- package/public-api.d.ts +1 -0
- package/search-address/dialog/dialog.component.d.ts +3 -0
- package/search-address/package.json +5 -6
- package/search-address/sk-front-lib-search-address.d.ts +1 -2
- package/search-address/sk-search-address.directive.d.ts +3 -0
- package/search-address/sk-search-address.module.d.ts +12 -0
- package/search-address/sk-search-address.service.d.ts +3 -0
- package/sk-front-lib.d.ts +1 -1
- package/uploader/package.json +5 -6
- package/uploader/sk-front-lib-uploader.d.ts +1 -1
- package/uploader/sk-uploader.component.d.ts +3 -0
- package/uploader/sk-uploader.directive.d.ts +3 -0
- package/uploader/sk-uploader.module.d.ts +14 -0
- package/api/sk-front-lib-api.metadata.json +0 -1
- package/article/sk-front-lib-article.metadata.json +0 -1
- package/bundles/sk-front-lib-api.umd.js +0 -230
- package/bundles/sk-front-lib-api.umd.js.map +0 -1
- package/bundles/sk-front-lib-api.umd.min.js +0 -2
- package/bundles/sk-front-lib-api.umd.min.js.map +0 -1
- package/bundles/sk-front-lib-article.umd.js +0 -772
- package/bundles/sk-front-lib-article.umd.js.map +0 -1
- package/bundles/sk-front-lib-article.umd.min.js +0 -2
- package/bundles/sk-front-lib-article.umd.min.js.map +0 -1
- package/bundles/sk-front-lib-crud.umd.js +0 -1846
- package/bundles/sk-front-lib-crud.umd.js.map +0 -1
- package/bundles/sk-front-lib-crud.umd.min.js +0 -2
- package/bundles/sk-front-lib-crud.umd.min.js.map +0 -1
- package/bundles/sk-front-lib-google-analytics.umd.js +0 -673
- package/bundles/sk-front-lib-google-analytics.umd.js.map +0 -1
- package/bundles/sk-front-lib-google-analytics.umd.min.js +0 -16
- package/bundles/sk-front-lib-google-analytics.umd.min.js.map +0 -1
- package/bundles/sk-front-lib-image.umd.js +0 -312
- package/bundles/sk-front-lib-image.umd.js.map +0 -1
- package/bundles/sk-front-lib-image.umd.min.js +0 -2
- package/bundles/sk-front-lib-image.umd.min.js.map +0 -1
- package/bundles/sk-front-lib-model.umd.js +0 -1464
- package/bundles/sk-front-lib-model.umd.js.map +0 -1
- package/bundles/sk-front-lib-model.umd.min.js +0 -16
- package/bundles/sk-front-lib-model.umd.min.js.map +0 -1
- package/bundles/sk-front-lib-search-address.umd.js +0 -182
- package/bundles/sk-front-lib-search-address.umd.js.map +0 -1
- package/bundles/sk-front-lib-search-address.umd.min.js +0 -2
- package/bundles/sk-front-lib-search-address.umd.min.js.map +0 -1
- package/bundles/sk-front-lib-uploader.umd.js +0 -534
- package/bundles/sk-front-lib-uploader.umd.js.map +0 -1
- package/bundles/sk-front-lib-uploader.umd.min.js +0 -2
- package/bundles/sk-front-lib-uploader.umd.min.js.map +0 -1
- package/bundles/sk-front-lib.umd.js +0 -546
- package/bundles/sk-front-lib.umd.js.map +0 -1
- package/bundles/sk-front-lib.umd.min.js +0 -2
- package/bundles/sk-front-lib.umd.min.js.map +0 -1
- package/crud/sk-front-lib-crud.metadata.json +0 -1
- package/esm2015/api/sk-api.module.js +0 -24
- package/esm2015/api/sk-api.service.js +0 -144
- package/esm2015/article/sk-article-editor-server.component.js +0 -54
- package/esm2015/article/sk-article-editor.component.js +0 -85
- package/esm2015/article/sk-article-server.module.js +0 -26
- package/esm2015/article/sk-article.module.js +0 -23
- package/esm2015/article/sk-article.service.js +0 -235
- package/esm2015/article/sk-froala-editor.directive.js +0 -320
- package/esm2015/crud/sk-account.service.js +0 -38
- package/esm2015/crud/sk-auth-admin.guard.js +0 -35
- package/esm2015/crud/sk-auth.guard.js +0 -35
- package/esm2015/crud/sk-auth.service.js +0 -71
- package/esm2015/crud/sk-board.service.js +0 -55
- package/esm2015/crud/sk-brand.service.js +0 -47
- package/esm2015/crud/sk-cart.service.js +0 -260
- package/esm2015/crud/sk-category.service.js +0 -64
- package/esm2015/crud/sk-comment.service.js +0 -44
- package/esm2015/crud/sk-config.service.js +0 -33
- package/esm2015/crud/sk-contact.service.js +0 -40
- package/esm2015/crud/sk-coupon.service.js +0 -63
- package/esm2015/crud/sk-document.service.js +0 -96
- package/esm2015/crud/sk-etc.service.js +0 -27
- package/esm2015/crud/sk-file.service.js +0 -38
- package/esm2015/crud/sk-front-lib-crud.js +0 -6
- package/esm2015/crud/sk-keyword.service.js +0 -47
- package/esm2015/crud/sk-order.service.js +0 -134
- package/esm2015/crud/sk-point.service.js +0 -46
- package/esm2015/crud/sk-product.service.js +0 -154
- package/esm2015/crud/sk-promotion.service.js +0 -82
- package/esm2015/crud/sk-search.service.js +0 -26
- package/esm2015/crud/sk-store.service.js +0 -48
- package/esm2015/crud/sk-user.service.js +0 -70
- package/esm2015/google-analytics/google-analytics-router.module.js +0 -19
- package/esm2015/google-analytics/google-analytics.module.js +0 -33
- package/esm2015/google-analytics/initializers/google-analytics-router.initializer.js +0 -25
- package/esm2015/google-analytics/initializers/google-analytics.initializer.js +0 -47
- package/esm2015/google-analytics/services/google-analytics.service.js +0 -199
- package/esm2015/image/public_api.js +0 -2
- package/esm2015/image/sk-front-lib-image.js +0 -6
- package/esm2015/image/sk-image.component.js +0 -258
- package/esm2015/image/sk-image.module.js +0 -28
- package/esm2015/lib/sk-byte.pipe.js +0 -14
- package/esm2015/lib/sk-date-time.pipe.js +0 -12
- package/esm2015/lib/sk-date.pipe.js +0 -12
- package/esm2015/lib/sk-front-lib.module.js +0 -29
- package/esm2015/lib/sk-keys.pipe.js +0 -19
- package/esm2015/lib/sk-time.pipe.js +0 -12
- package/esm2015/model/lib/promotion.js +0 -72
- package/esm2015/search-address/dialog/dialog.component.js +0 -28
- package/esm2015/search-address/sk-front-lib-search-address.js +0 -7
- package/esm2015/search-address/sk-search-address.directive.js +0 -39
- package/esm2015/search-address/sk-search-address.module.js +0 -34
- package/esm2015/sk-front-lib.js +0 -6
- package/esm2015/uploader/sk-front-lib-uploader.js +0 -6
- package/esm2015/uploader/sk-uploader.component.js +0 -106
- package/esm2015/uploader/sk-uploader.directive.js +0 -40
- package/esm2015/uploader/sk-uploader.module.js +0 -39
- package/fesm2015/sk-front-lib-api.js.map +0 -1
- package/fesm2015/sk-front-lib-article.js.map +0 -1
- package/fesm2015/sk-front-lib-crud.js.map +0 -1
- package/fesm2015/sk-front-lib-google-analytics.js.map +0 -1
- package/fesm2015/sk-front-lib-image.js.map +0 -1
- package/fesm2015/sk-front-lib-model.js.map +0 -1
- package/fesm2015/sk-front-lib-search-address.js +0 -166
- package/fesm2015/sk-front-lib-search-address.js.map +0 -1
- package/fesm2015/sk-front-lib-uploader.js +0 -510
- package/fesm2015/sk-front-lib-uploader.js.map +0 -1
- package/fesm2015/sk-front-lib.js.map +0 -1
- package/google-analytics/sk-front-lib-google-analytics.metadata.json +0 -1
- package/image/sk-front-lib-image.metadata.json +0 -1
- package/model/sk-front-lib-model.metadata.json +0 -1
- package/search-address/sk-front-lib-search-address.metadata.json +0 -1
- package/sk-front-lib.metadata.json +0 -1
- package/uploader/sk-front-lib-uploader.metadata.json +0 -1
|
@@ -2,6 +2,7 @@ import { ElementRef, OnInit } from '@angular/core';
|
|
|
2
2
|
import { MatDialogRef } from '@angular/material/dialog';
|
|
3
3
|
import { SkApiService } from 'sk-front-lib/api';
|
|
4
4
|
import { SkFileUploader } from './sk-uploader.class';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
5
6
|
export declare class SkUploaderComponent implements OnInit {
|
|
6
7
|
data: any;
|
|
7
8
|
dialogRef: MatDialogRef<SkUploaderComponent>;
|
|
@@ -22,4 +23,6 @@ export declare class SkUploaderComponent implements OnInit {
|
|
|
22
23
|
onBrowseFileComplete(): any;
|
|
23
24
|
onDragComponentClick(): any;
|
|
24
25
|
preventAndStop(event: any): any;
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SkUploaderComponent, never>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SkUploaderComponent, "sk-uploader", never, {}, {}, never, never>;
|
|
25
28
|
}
|
|
@@ -2,6 +2,7 @@ import { EventEmitter } from '@angular/core';
|
|
|
2
2
|
import { MatDialog } from '@angular/material/dialog';
|
|
3
3
|
import { SkFile } from 'sk-front-lib/model';
|
|
4
4
|
import { SkFileUploaderOptions } from './sk-uploader.class';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
5
6
|
export declare class SkUploaderDirective {
|
|
6
7
|
private _dialog;
|
|
7
8
|
skUploaderOptions: SkFileUploaderOptions;
|
|
@@ -9,4 +10,6 @@ export declare class SkUploaderDirective {
|
|
|
9
10
|
skUploaderFileSelected: EventEmitter<any>;
|
|
10
11
|
onClick(): void;
|
|
11
12
|
constructor(_dialog: MatDialog);
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SkUploaderDirective, never>;
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SkUploaderDirective, "[skUploader]", never, { "skUploaderOptions": "skUploaderOptions"; "skSelected": "skSelected"; }, { "skUploaderFileSelected": "skUploaderFileSelected"; }, never>;
|
|
12
15
|
}
|
|
@@ -1,2 +1,16 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./sk-uploader.component";
|
|
3
|
+
import * as i2 from "./sk-uploader.directive";
|
|
4
|
+
import * as i3 from "@angular/common";
|
|
5
|
+
import * as i4 from "@angular/material/dialog";
|
|
6
|
+
import * as i5 from "@angular/material/toolbar";
|
|
7
|
+
import * as i6 from "@angular/material/button";
|
|
8
|
+
import * as i7 from "@angular/material/icon";
|
|
9
|
+
import * as i8 from "@angular/material/list";
|
|
10
|
+
import * as i9 from "@angular/material/progress-bar";
|
|
11
|
+
import * as i10 from "sk-front-lib";
|
|
1
12
|
export declare class SkUploaderModule {
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SkUploaderModule, never>;
|
|
14
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SkUploaderModule, [typeof i1.SkUploaderComponent, typeof i2.SkUploaderDirective], [typeof i3.CommonModule, typeof i4.MatDialogModule, typeof i5.MatToolbarModule, typeof i6.MatButtonModule, typeof i7.MatIconModule, typeof i8.MatListModule, typeof i9.MatProgressBarModule, typeof i10.SkFrontLibModule], [typeof i1.SkUploaderComponent, typeof i2.SkUploaderDirective]>;
|
|
15
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<SkUploaderModule>;
|
|
2
16
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"exports":[{"export":[{"name":"ApiConfig","as":"ApiConfig"}],"from":"./api-config"},{"export":[{"name":"ApiResponse","as":"ApiResponse"}],"from":"./api-response"},{"export":[{"name":"ApiPageable","as":"ApiPageable"}],"from":"./api-pageable"},{"export":[{"name":"ApiPageableParam","as":"ApiPageableParam"}],"from":"./api-pageable-param"}],"metadata":{"SkApiModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"declarations":[],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":10,"character":8},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":11,"character":8},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":12,"character":8}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"SkApiModule"},"providers":[{"__symbolic":"reference","name":"SkApiService"},{"provide":"config","useValue":{"__symbolic":"reference","name":"config"}}]}}}},"SkApiService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":23,"character":17},"arguments":["config"]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":24,"character":17},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":24,"character":24}]}],null,null],"parameters":[{"__symbolic":"reference","name":"ApiConfig"},null,{"__symbolic":"reference","module":"@angular/router","name":"Router","line":25,"character":32},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":26,"character":30}]}],"get":[{"__symbolic":"method"}],"getPageable":[{"__symbolic":"method"}],"post":[{"__symbolic":"method"}],"put":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"rawRequest":[{"__symbolic":"method"}],"parseTokenHeader":[{"__symbolic":"method"}],"setToken":[{"__symbolic":"method"}],"getToken":[{"__symbolic":"method"}],"clearToken":[{"__symbolic":"method"}],"handleError":[{"__symbolic":"method"}],"handleNext":[{"__symbolic":"method"}],"getDuplicateValidator":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}}},"origins":{"SkApiModule":"./sk-api.module","SkApiService":"./sk-api.service"},"importAs":"sk-front-lib/api"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"SkArticleEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"sk-article-editor","template":"<div [froalaEditor]=\"editorConfig\" [(froalaModel)]=\"content\"></div>\n","styles":[":host{position:relative;display:block}"]}]}],"members":{"article":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":5}}]}],"toolbarType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"sk-front-lib/api","name":"SkApiService","line":20,"character":37},{"__symbolic":"reference","name":"SkArticleService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"getData":[{"__symbolic":"method"}],"_initData":[{"__symbolic":"method"}],"_initOptions":[{"__symbolic":"method"}],"_addImage":[{"__symbolic":"method"}],"_removeImage":[{"__symbolic":"method"}]}},"SkArticleModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"SkArticleEditorComponent"},{"__symbolic":"reference","name":"SkFroalaEditorDirective"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":12,"character":8}],"exports":[{"__symbolic":"reference","name":"SkArticleEditorComponent"},{"__symbolic":"reference","name":"SkFroalaEditorDirective"}],"providers":[]}]}],"members":{}},"SkArticleService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":10,"character":17},"arguments":["environment"]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"initializeFroala":[{"__symbolic":"method"}],"loadFontWeight":[{"__symbolic":"method"}],"registerShortcuts":[{"__symbolic":"method"}],"getBaseConfig":[{"__symbolic":"method"}],"getToolbar":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"SkFroalaEditorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":15,"character":1},"arguments":[{"selector":"[froalaEditor]","exportAs":"froalaEditor","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":19,"character":17},"useExisting":{"__symbolic":"reference","name":"SkFroalaEditorDirective"},"multi":true}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":26,"character":20},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":26,"character":46}]}],"froalaEditor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5}}]}],"froalaModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5}}]}],"froalaModelChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":75,"character":5}}]}],"froalaInit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":78,"character":5}}]}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"updateEditor":[{"__symbolic":"method"}],"updateModel":[{"__symbolic":"method"}],"registerEvent":[{"__symbolic":"method"}],"initListeners":[{"__symbolic":"method"}],"createEditor":[{"__symbolic":"method"}],"setHtml":[{"__symbolic":"method"}],"setContent":[{"__symbolic":"method"}],"destroyEditor":[{"__symbolic":"method"}],"getEditor":[{"__symbolic":"method"}],"generateManualController":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"SkArticleServerModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"SkArticleEditorServerComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":10,"character":8}],"exports":[{"__symbolic":"reference","name":"SkArticleEditorServerComponent"}],"providers":[]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["environment"],"value":{"ngModule":{"__symbolic":"reference","name":"SkArticleServerModule"},"providers":[]}}}},"SkArticleEditorServerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"sk-article-editor","template":"<div>Server</div>\n","styles":[":host{position:relative;display:block}"]}]}],"members":{"article":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":5}}]}],"toolbarType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"sk-front-lib/api","name":"SkApiService","line":19,"character":37}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"getData":[{"__symbolic":"method"}],"_initData":[{"__symbolic":"method"}],"_initOptions":[{"__symbolic":"method"}]}}},"origins":{"SkArticleEditorComponent":"./sk-article-editor.component","SkArticleModule":"./sk-article.module","SkArticleService":"./sk-article.service","SkFroalaEditorDirective":"./sk-froala-editor.directive","SkArticleServerModule":"./sk-article-server.module","SkArticleEditorServerComponent":"./sk-article-editor-server.component"},"importAs":"sk-front-lib/article"}
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common/http'), require('@angular/core'), require('@angular/common'), require('@angular/router'), require('rxjs'), require('rxjs/operators')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define('sk-front-lib/api', ['exports', '@angular/common/http', '@angular/core', '@angular/common', '@angular/router', 'rxjs', 'rxjs/operators'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['sk-front-lib'] = global['sk-front-lib'] || {}, global['sk-front-lib'].api = {}), global.ng.common.http, global.ng.core, global.ng.common, global.ng.router, global.rxjs, global.rxjs.operators));
|
|
5
|
-
}(this, (function (exports, i2, i0, common, i1, rxjs, operators) { 'use strict';
|
|
6
|
-
|
|
7
|
-
var ApiResponse = /** @class */ (function () {
|
|
8
|
-
function ApiResponse() {
|
|
9
|
-
}
|
|
10
|
-
return ApiResponse;
|
|
11
|
-
}());
|
|
12
|
-
|
|
13
|
-
var ApiPageable = /** @class */ (function () {
|
|
14
|
-
function ApiPageable() {
|
|
15
|
-
}
|
|
16
|
-
return ApiPageable;
|
|
17
|
-
}());
|
|
18
|
-
|
|
19
|
-
var ApiPageableParam = /** @class */ (function () {
|
|
20
|
-
function ApiPageableParam(search, page, size, sort) {
|
|
21
|
-
if (search === void 0) { search = ''; }
|
|
22
|
-
if (page === void 0) { page = 0; }
|
|
23
|
-
if (size === void 0) { size = 20; }
|
|
24
|
-
if (sort === void 0) { sort = ['id,desc']; }
|
|
25
|
-
this.search = search;
|
|
26
|
-
this.page = page;
|
|
27
|
-
this.size = size;
|
|
28
|
-
this.sort = sort;
|
|
29
|
-
this.extraParams = new Map();
|
|
30
|
-
}
|
|
31
|
-
ApiPageableParam.prototype.setExtraParams = function (key, value) {
|
|
32
|
-
this.extraParams.set(key, value);
|
|
33
|
-
return this;
|
|
34
|
-
};
|
|
35
|
-
ApiPageableParam.prototype.buildHttpParams = function () {
|
|
36
|
-
var params = new i2.HttpParams()
|
|
37
|
-
.set('search', this.search)
|
|
38
|
-
.set('page', String(this.page))
|
|
39
|
-
.set('size', String(this.size));
|
|
40
|
-
var sort = Array.isArray(this.sort) ? this.sort : [this.sort];
|
|
41
|
-
sort.forEach(function (value) {
|
|
42
|
-
params = params.append('sort', value);
|
|
43
|
-
});
|
|
44
|
-
this.extraParams.forEach(function (value, key) {
|
|
45
|
-
params = params.set(key, value);
|
|
46
|
-
});
|
|
47
|
-
return params;
|
|
48
|
-
};
|
|
49
|
-
return ApiPageableParam;
|
|
50
|
-
}());
|
|
51
|
-
|
|
52
|
-
var SkApiService = /** @class */ (function () {
|
|
53
|
-
function SkApiService(config, platformId, router, http) {
|
|
54
|
-
this.config = config;
|
|
55
|
-
this.platformId = platformId;
|
|
56
|
-
this.router = router;
|
|
57
|
-
this.http = http;
|
|
58
|
-
this.maintenanceUrl = '/maintenance';
|
|
59
|
-
this.errorUrl = '/error';
|
|
60
|
-
this.loginUrl = '/login';
|
|
61
|
-
if (!config.apiServer) {
|
|
62
|
-
throw Error('ApiService는 baseurl을 주입받아야 합니다.');
|
|
63
|
-
}
|
|
64
|
-
this.apiServer = config.apiServer;
|
|
65
|
-
if (!!config.maintenanceUrl) {
|
|
66
|
-
this.maintenanceUrl = config.maintenanceUrl;
|
|
67
|
-
}
|
|
68
|
-
if (!!config.loginUrl) {
|
|
69
|
-
this.loginUrl = config.loginUrl;
|
|
70
|
-
}
|
|
71
|
-
if (!!config.errorUrl) {
|
|
72
|
-
this.errorUrl = config.errorUrl;
|
|
73
|
-
}
|
|
74
|
-
this.isPlatformBrowser = common.isPlatformBrowser(this.platformId);
|
|
75
|
-
}
|
|
76
|
-
SkApiService.prototype.get = function (path, parameters) {
|
|
77
|
-
var _this = this;
|
|
78
|
-
return this.http.get(this.apiServer + path, {
|
|
79
|
-
headers: this.parseTokenHeader(),
|
|
80
|
-
params: parameters,
|
|
81
|
-
withCredentials: true
|
|
82
|
-
}).pipe(operators.tap(function (next) { return _this.handleNext(next); }, function (error) { return _this.handleError(error); }));
|
|
83
|
-
};
|
|
84
|
-
SkApiService.prototype.getPageable = function (path, parameters) {
|
|
85
|
-
var _this = this;
|
|
86
|
-
return this.http.get(this.apiServer + path, {
|
|
87
|
-
headers: this.parseTokenHeader(),
|
|
88
|
-
params: parameters,
|
|
89
|
-
withCredentials: true
|
|
90
|
-
}).pipe(operators.tap(function (next) { return _this.handleNext(next); }, function (error) { return _this.handleError(error); }));
|
|
91
|
-
};
|
|
92
|
-
SkApiService.prototype.post = function (path, body, parameters) {
|
|
93
|
-
var _this = this;
|
|
94
|
-
return this.http.post(this.apiServer + path, body, {
|
|
95
|
-
headers: this.parseTokenHeader(),
|
|
96
|
-
params: parameters,
|
|
97
|
-
withCredentials: true
|
|
98
|
-
}).pipe(operators.tap(function (next) { return _this.handleNext(next); }, function (error) { return _this.handleError(error); }));
|
|
99
|
-
};
|
|
100
|
-
SkApiService.prototype.put = function (path, body, parameters) {
|
|
101
|
-
var _this = this;
|
|
102
|
-
return this.http.put(this.apiServer + path, body, {
|
|
103
|
-
headers: this.parseTokenHeader(),
|
|
104
|
-
params: parameters,
|
|
105
|
-
withCredentials: true
|
|
106
|
-
}).pipe(operators.tap(function (next) { return _this.handleNext(next); }, function (error) { return _this.handleError(error); }));
|
|
107
|
-
};
|
|
108
|
-
SkApiService.prototype.delete = function (path, parameters) {
|
|
109
|
-
var _this = this;
|
|
110
|
-
return this.http.delete(this.apiServer + path, {
|
|
111
|
-
headers: this.parseTokenHeader(),
|
|
112
|
-
params: parameters,
|
|
113
|
-
withCredentials: true
|
|
114
|
-
}).pipe(operators.tap(function (next) { return _this.handleNext(next); }, function (error) { return _this.handleError(error); }));
|
|
115
|
-
};
|
|
116
|
-
// 원시적인 request, apiservice의 다른 도움을 받지 못한다.
|
|
117
|
-
SkApiService.prototype.rawRequest = function (req) {
|
|
118
|
-
return this.http.request(req);
|
|
119
|
-
};
|
|
120
|
-
SkApiService.prototype.parseTokenHeader = function () {
|
|
121
|
-
var token = this.getToken();
|
|
122
|
-
if (!!token) {
|
|
123
|
-
return new i2.HttpHeaders().set('Authorization', "Bearer " + token);
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
return new i2.HttpHeaders();
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
SkApiService.prototype.setToken = function (tokenString) {
|
|
130
|
-
if (this.isPlatformBrowser) {
|
|
131
|
-
localStorage.setItem('token', tokenString);
|
|
132
|
-
}
|
|
133
|
-
};
|
|
134
|
-
SkApiService.prototype.getToken = function () {
|
|
135
|
-
return this.isPlatformBrowser ? localStorage.getItem('token') : null;
|
|
136
|
-
};
|
|
137
|
-
SkApiService.prototype.clearToken = function () {
|
|
138
|
-
if (this.isPlatformBrowser) {
|
|
139
|
-
localStorage.removeItem('token');
|
|
140
|
-
}
|
|
141
|
-
};
|
|
142
|
-
SkApiService.prototype.handleError = function (error) {
|
|
143
|
-
if (error.status === 0) {
|
|
144
|
-
// 서버와 연결 수립이 안될 경우 or 서버가 미가동 상태일때
|
|
145
|
-
this.router.navigate([this.maintenanceUrl], { skipLocationChange: true });
|
|
146
|
-
}
|
|
147
|
-
else if (error.status === 500 || error.status === 502 || error.status === 404) {
|
|
148
|
-
this.router.navigate([this.errorUrl], { skipLocationChange: true });
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
throw new Error(error.message);
|
|
152
|
-
}
|
|
153
|
-
};
|
|
154
|
-
SkApiService.prototype.handleNext = function (next) {
|
|
155
|
-
if (next && next.error) {
|
|
156
|
-
throw new Error(next.message);
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
SkApiService.prototype.getDuplicateValidator = function (apiService, path, key, ignore, cdRef) {
|
|
160
|
-
if (ignore === void 0) { ignore = 0; }
|
|
161
|
-
if (cdRef === void 0) { cdRef = null; }
|
|
162
|
-
return function (control) {
|
|
163
|
-
return rxjs.timer(500)
|
|
164
|
-
.pipe(operators.switchMap(function () {
|
|
165
|
-
// if (control.pristine && control.valid) {
|
|
166
|
-
// return of(false);
|
|
167
|
-
// } else {
|
|
168
|
-
return apiService.get(path, new i2.HttpParams().append(key, String(control.value)).append('ignore', String(ignore)))
|
|
169
|
-
.pipe(operators.map(function (result) { return result.data; }));
|
|
170
|
-
// }
|
|
171
|
-
}), operators.map(function (result) {
|
|
172
|
-
return result ? { duplicated: true } : null;
|
|
173
|
-
}), operators.tap(function () { return setTimeout(function () {
|
|
174
|
-
if (cdRef) {
|
|
175
|
-
cdRef.markForCheck();
|
|
176
|
-
}
|
|
177
|
-
}, 0); }));
|
|
178
|
-
};
|
|
179
|
-
};
|
|
180
|
-
return SkApiService;
|
|
181
|
-
}());
|
|
182
|
-
SkApiService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SkApiService_Factory() { return new SkApiService(i0.ɵɵinject("config"), i0.ɵɵinject(i0.PLATFORM_ID), i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.HttpClient)); }, token: SkApiService, providedIn: "root" });
|
|
183
|
-
SkApiService.decorators = [
|
|
184
|
-
{ type: i0.Injectable, args: [{
|
|
185
|
-
providedIn: 'root'
|
|
186
|
-
},] }
|
|
187
|
-
];
|
|
188
|
-
SkApiService.ctorParameters = function () { return [
|
|
189
|
-
{ type: undefined, decorators: [{ type: i0.Inject, args: ['config',] }] },
|
|
190
|
-
{ type: undefined, decorators: [{ type: i0.Inject, args: [i0.PLATFORM_ID,] }] },
|
|
191
|
-
{ type: i1.Router },
|
|
192
|
-
{ type: i2.HttpClient }
|
|
193
|
-
]; };
|
|
194
|
-
|
|
195
|
-
var SkApiModule = /** @class */ (function () {
|
|
196
|
-
function SkApiModule() {
|
|
197
|
-
}
|
|
198
|
-
SkApiModule.forRoot = function (config) {
|
|
199
|
-
return {
|
|
200
|
-
ngModule: SkApiModule,
|
|
201
|
-
providers: [SkApiService, { provide: 'config', useValue: config }]
|
|
202
|
-
};
|
|
203
|
-
};
|
|
204
|
-
return SkApiModule;
|
|
205
|
-
}());
|
|
206
|
-
SkApiModule.decorators = [
|
|
207
|
-
{ type: i0.NgModule, args: [{
|
|
208
|
-
declarations: [],
|
|
209
|
-
imports: [
|
|
210
|
-
common.CommonModule,
|
|
211
|
-
i1.RouterModule,
|
|
212
|
-
i2.HttpClientModule,
|
|
213
|
-
]
|
|
214
|
-
},] }
|
|
215
|
-
];
|
|
216
|
-
|
|
217
|
-
/**
|
|
218
|
-
* Generated bundle index. Do not edit.
|
|
219
|
-
*/
|
|
220
|
-
|
|
221
|
-
exports.ApiPageable = ApiPageable;
|
|
222
|
-
exports.ApiPageableParam = ApiPageableParam;
|
|
223
|
-
exports.ApiResponse = ApiResponse;
|
|
224
|
-
exports.SkApiModule = SkApiModule;
|
|
225
|
-
exports.SkApiService = SkApiService;
|
|
226
|
-
|
|
227
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
228
|
-
|
|
229
|
-
})));
|
|
230
|
-
//# sourceMappingURL=sk-front-lib-api.umd.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sk-front-lib-api.umd.js","sources":["../../../projects/sk-front-lib/api/src/model/api-response.ts","../../../projects/sk-front-lib/api/src/model/api-pageable.ts","../../../projects/sk-front-lib/api/src/model/api-pageable-param.ts","../../../projects/sk-front-lib/api/src/sk-api.service.ts","../../../projects/sk-front-lib/api/src/sk-api.module.ts","../../../projects/sk-front-lib/api/src/sk-front-lib-api.ts"],"sourcesContent":["export class ApiResponse<T> {\n code: number;\n timestamp: number;\n status: number;\n message: string;\n error: string;\n data: T;\n}\n","export class ApiPageable<T> {\n first: boolean;\n last: boolean;\n number: number;\n numberOfElements: number;\n size: number;\n sort: [any];\n totalElements: number;\n totalPages: number;\n\n content: T[];\n}\n","import {HttpParams} from '@angular/common/http';\n\nexport class ApiPageableParam {\n private extraParams = new Map<string, string>();\n\n constructor(public search: string = '',\n public page: number = 0,\n public size: number = 20,\n public sort: string[] = ['id,desc']) {\n }\n\n public setExtraParams(key: string, value: string) {\n this.extraParams.set(key, value);\n return this;\n }\n\n public buildHttpParams(): HttpParams {\n let params = new HttpParams()\n .set('search', this.search)\n .set('page', String(this.page))\n .set('size', String(this.size));\n\n const sort = Array.isArray(this.sort) ? this.sort : [this.sort];\n sort.forEach(value => {\n params = params.append('sort', value);\n });\n\n this.extraParams.forEach((value, key) => {\n params = params.set(key, value);\n });\n\n return params;\n }\n}\n","import {ChangeDetectorRef, Inject, Injectable, PLATFORM_ID} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\nimport {AbstractControl} from '@angular/forms';\nimport {Router} from '@angular/router';\nimport {HttpClient, HttpHeaders, HttpParams, HttpRequest} from '@angular/common/http';\n\nimport {Observable, of, timer} from 'rxjs';\nimport {map, switchMap, tap} from 'rxjs/operators';\n\nimport {ApiConfig, ApiPageable, ApiResponse} from './model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkApiService {\n\n apiServer;\n isPlatformBrowser: boolean;\n\n maintenanceUrl = '/maintenance';\n errorUrl = '/error';\n loginUrl = '/login';\n\n constructor(@Inject('config') private config: ApiConfig,\n @Inject(PLATFORM_ID) private platformId,\n private router: Router,\n private http: HttpClient) {\n\n if (!config.apiServer) {\n throw Error('ApiService는 baseurl을 주입받아야 합니다.');\n }\n this.apiServer = config.apiServer;\n\n if (!!config.maintenanceUrl) {\n this.maintenanceUrl = config.maintenanceUrl;\n }\n\n if (!!config.loginUrl) {\n this.loginUrl = config.loginUrl;\n }\n\n if (!!config.errorUrl) {\n this.errorUrl = config.errorUrl;\n }\n\n this.isPlatformBrowser = isPlatformBrowser(this.platformId);\n }\n\n get<T>(path: string, parameters?: HttpParams): Observable<ApiResponse<T>> {\n return this.http.get<ApiResponse<T>>(this.apiServer + path, {\n headers: this.parseTokenHeader(),\n params: parameters,\n withCredentials: true\n }).pipe(\n tap(\n next => this.handleNext(next),\n error => this.handleError(error)\n )\n );\n }\n\n getPageable<T>(path: string, parameters?: HttpParams): Observable<ApiResponse<ApiPageable<T>>> {\n return this.http.get<ApiResponse<ApiPageable<T>>>(this.apiServer + path, {\n headers: this.parseTokenHeader(),\n params: parameters,\n withCredentials: true\n }).pipe(\n tap(\n next => this.handleNext(next),\n error => this.handleError(error)\n )\n );\n }\n\n post<T>(path: string, body: any, parameters?: HttpParams): Observable<ApiResponse<T>> {\n return this.http.post<ApiResponse<T>>(this.apiServer + path, body, {\n headers: this.parseTokenHeader(),\n params: parameters,\n withCredentials: true\n }).pipe(\n tap(\n next => this.handleNext(next),\n error => this.handleError(error)\n )\n );\n }\n\n put<T>(path: string, body: any, parameters?: HttpParams): Observable<ApiResponse<T>> {\n return this.http.put<ApiResponse<T>>(this.apiServer + path, body, {\n headers: this.parseTokenHeader(),\n params: parameters,\n withCredentials: true\n }).pipe(\n tap(\n next => this.handleNext(next),\n error => this.handleError(error)\n )\n );\n }\n\n delete<T>(path: string, parameters?: HttpParams): Observable<ApiResponse<T>> {\n return this.http.delete<ApiResponse<T>>(this.apiServer + path, {\n headers: this.parseTokenHeader(),\n params: parameters,\n withCredentials: true\n }).pipe(\n tap(\n next => this.handleNext(next),\n error => this.handleError(error)\n )\n );\n }\n\n // 원시적인 request, apiservice의 다른 도움을 받지 못한다.\n rawRequest<T>(req: HttpRequest<T>) {\n return this.http.request(req);\n }\n\n parseTokenHeader(): HttpHeaders {\n const token = this.getToken();\n if (!!token) {\n return new HttpHeaders().set('Authorization', `Bearer ${token}`);\n } else {\n return new HttpHeaders();\n }\n }\n\n setToken(tokenString: string) {\n if (this.isPlatformBrowser) {\n localStorage.setItem('token', tokenString);\n }\n }\n\n getToken(): string {\n return this.isPlatformBrowser ? localStorage.getItem('token') : null;\n }\n\n clearToken() {\n if (this.isPlatformBrowser) {\n localStorage.removeItem('token');\n }\n }\n\n handleError(error) {\n if (error.status === 0) {\n // 서버와 연결 수립이 안될 경우 or 서버가 미가동 상태일때\n this.router.navigate([this.maintenanceUrl], {skipLocationChange: true});\n } else if (error.status === 500 || error.status === 502 || error.status === 404) {\n this.router.navigate([this.errorUrl], {skipLocationChange: true});\n } else {\n throw new Error(error.message);\n }\n }\n\n handleNext(next) {\n if (next && next.error) {\n throw new Error(next.message);\n }\n }\n\n getDuplicateValidator(apiService: SkApiService, path: string, key: string, ignore: number = 0, cdRef: ChangeDetectorRef = null) {\n return (control: AbstractControl): Observable<any> => {\n return timer(500)\n .pipe(\n switchMap(() => {\n // if (control.pristine && control.valid) {\n // return of(false);\n // } else {\n return apiService.get<boolean>(path, new HttpParams().append(key, String(control.value)).append('ignore', String(ignore)))\n .pipe(map((result: ApiResponse<boolean>) => result.data));\n // }\n }),\n map(result => {\n return result ? {duplicated: true} : null;\n }),\n tap(() => setTimeout(() => {\n if (cdRef) {\n cdRef.markForCheck();\n }\n }, 0))\n );\n };\n }\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\nimport {RouterModule} from '@angular/router';\nimport {ApiConfig} from './model';\nimport {SkApiService} from './sk-api.service';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n RouterModule,\n HttpClientModule,\n ]\n})\nexport class SkApiModule {\n static forRoot(config: ApiConfig): ModuleWithProviders<SkApiModule> {\n return {\n ngModule: SkApiModule,\n providers: [SkApiService, {provide: 'config', useValue: config}]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["HttpParams","isPlatformBrowser","tap","HttpHeaders","timer","switchMap","map","Injectable","Inject","PLATFORM_ID","Router","HttpClient","NgModule","CommonModule","RouterModule","HttpClientModule"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common/http"),require("@angular/core"),require("@angular/common"),require("@angular/router"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("sk-front-lib/api",["exports","@angular/common/http","@angular/core","@angular/common","@angular/router","rxjs","rxjs/operators"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self)["sk-front-lib"]=t["sk-front-lib"]||{},t["sk-front-lib"].api={}),t.ng.common.http,t.ng.core,t.ng.common,t.ng.router,t.rxjs,t.rxjs.operators)}(this,(function(t,e,r,n,o,i,a){"use strict";var s=function(){},p=function(){},u=function(){function t(t,e,r,n){void 0===t&&(t=""),void 0===e&&(e=0),void 0===r&&(r=20),void 0===n&&(n=["id,desc"]),this.search=t,this.page=e,this.size=r,this.sort=n,this.extraParams=new Map}return t.prototype.setExtraParams=function(t,e){return this.extraParams.set(t,e),this},t.prototype.buildHttpParams=function(){var t=(new e.HttpParams).set("search",this.search).set("page",String(this.page)).set("size",String(this.size));return(Array.isArray(this.sort)?this.sort:[this.sort]).forEach((function(e){t=t.append("sort",e)})),this.extraParams.forEach((function(e,r){t=t.set(r,e)})),t},t}(),h=function(){function t(t,e,r,o){if(this.config=t,this.platformId=e,this.router=r,this.http=o,this.maintenanceUrl="/maintenance",this.errorUrl="/error",this.loginUrl="/login",!t.apiServer)throw Error("ApiService는 baseurl을 주입받아야 합니다.");this.apiServer=t.apiServer,t.maintenanceUrl&&(this.maintenanceUrl=t.maintenanceUrl),t.loginUrl&&(this.loginUrl=t.loginUrl),t.errorUrl&&(this.errorUrl=t.errorUrl),this.isPlatformBrowser=n.isPlatformBrowser(this.platformId)}return t.prototype.get=function(t,e){var r=this;return this.http.get(this.apiServer+t,{headers:this.parseTokenHeader(),params:e,withCredentials:!0}).pipe(a.tap((function(t){return r.handleNext(t)}),(function(t){return r.handleError(t)})))},t.prototype.getPageable=function(t,e){var r=this;return this.http.get(this.apiServer+t,{headers:this.parseTokenHeader(),params:e,withCredentials:!0}).pipe(a.tap((function(t){return r.handleNext(t)}),(function(t){return r.handleError(t)})))},t.prototype.post=function(t,e,r){var n=this;return this.http.post(this.apiServer+t,e,{headers:this.parseTokenHeader(),params:r,withCredentials:!0}).pipe(a.tap((function(t){return n.handleNext(t)}),(function(t){return n.handleError(t)})))},t.prototype.put=function(t,e,r){var n=this;return this.http.put(this.apiServer+t,e,{headers:this.parseTokenHeader(),params:r,withCredentials:!0}).pipe(a.tap((function(t){return n.handleNext(t)}),(function(t){return n.handleError(t)})))},t.prototype.delete=function(t,e){var r=this;return this.http.delete(this.apiServer+t,{headers:this.parseTokenHeader(),params:e,withCredentials:!0}).pipe(a.tap((function(t){return r.handleNext(t)}),(function(t){return r.handleError(t)})))},t.prototype.rawRequest=function(t){return this.http.request(t)},t.prototype.parseTokenHeader=function(){var t=this.getToken();return t?(new e.HttpHeaders).set("Authorization","Bearer "+t):new e.HttpHeaders},t.prototype.setToken=function(t){this.isPlatformBrowser&&localStorage.setItem("token",t)},t.prototype.getToken=function(){return this.isPlatformBrowser?localStorage.getItem("token"):null},t.prototype.clearToken=function(){this.isPlatformBrowser&&localStorage.removeItem("token")},t.prototype.handleError=function(t){if(0===t.status)this.router.navigate([this.maintenanceUrl],{skipLocationChange:!0});else{if(500!==t.status&&502!==t.status&&404!==t.status)throw new Error(t.message);this.router.navigate([this.errorUrl],{skipLocationChange:!0})}},t.prototype.handleNext=function(t){if(t&&t.error)throw new Error(t.message)},t.prototype.getDuplicateValidator=function(t,r,n,o,s){return void 0===o&&(o=0),void 0===s&&(s=null),function(p){return i.timer(500).pipe(a.switchMap((function(){return t.get(r,(new e.HttpParams).append(n,String(p.value)).append("ignore",String(o))).pipe(a.map((function(t){return t.data})))})),a.map((function(t){return t?{duplicated:!0}:null})),a.tap((function(){return setTimeout((function(){s&&s.markForCheck()}),0)})))}},t}();h.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new h(r.ɵɵinject("config"),r.ɵɵinject(r.PLATFORM_ID),r.ɵɵinject(o.Router),r.ɵɵinject(e.HttpClient))},token:h,providedIn:"root"}),h.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],h.ctorParameters=function(){return[{type:void 0,decorators:[{type:r.Inject,args:["config"]}]},{type:void 0,decorators:[{type:r.Inject,args:[r.PLATFORM_ID]}]},{type:o.Router},{type:e.HttpClient}]};var c=function(){function t(){}return t.forRoot=function(e){return{ngModule:t,providers:[h,{provide:"config",useValue:e}]}},t}();c.decorators=[{type:r.NgModule,args:[{declarations:[],imports:[n.CommonModule,o.RouterModule,e.HttpClientModule]}]}],t.ApiPageable=p,t.ApiPageableParam=u,t.ApiResponse=s,t.SkApiModule=c,t.SkApiService=h,Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
2
|
-
//# sourceMappingURL=sk-front-lib-api.umd.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../projects/sk-front-lib/api/src/model/api-response.ts","../../../projects/sk-front-lib/api/src/model/api-pageable.ts","../../../projects/sk-front-lib/api/src/model/api-pageable-param.ts","../../../projects/sk-front-lib/api/src/sk-api.service.ts","../../../projects/sk-front-lib/api/src/sk-api.module.ts"],"names":["ApiPageableParam","search","page","size","sort","this","extraParams","Map","prototype","setExtraParams","key","value","set","buildHttpParams","params","HttpParams","String","Array","isArray","forEach","append","SkApiService","config","platformId","router","http","maintenanceUrl","errorUrl","loginUrl","apiServer","Error","isPlatformBrowser","get","path","parameters","_this","headers","parseTokenHeader","withCredentials","pipe","tap","next","handleNext","error","handleError","getPageable","post","body","put","delete","rawRequest","req","request","token","getToken","HttpHeaders","setToken","tokenString","localStorage","setItem","getItem","clearToken","removeItem","status","navigate","skipLocationChange","message","getDuplicateValidator","apiService","ignore","cdRef","control","timer","switchMap","map","result","data","duplicated","setTimeout","markForCheck","Injectable","args","providedIn","Inject","PLATFORM_ID","Router","HttpClient","SkApiModule","forRoot","ngModule","providers","provide","useValue","NgModule","declarations","imports","CommonModule","RouterModule","HttpClientModule"],"mappings":"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","sourcesContent":["export class ApiResponse<T> {\n code: number;\n timestamp: number;\n status: number;\n message: string;\n error: string;\n data: T;\n}\n","export class ApiPageable<T> {\n first: boolean;\n last: boolean;\n number: number;\n numberOfElements: number;\n size: number;\n sort: [any];\n totalElements: number;\n totalPages: number;\n\n content: T[];\n}\n","import {HttpParams} from '@angular/common/http';\n\nexport class ApiPageableParam {\n private extraParams = new Map<string, string>();\n\n constructor(public search: string = '',\n public page: number = 0,\n public size: number = 20,\n public sort: string[] = ['id,desc']) {\n }\n\n public setExtraParams(key: string, value: string) {\n this.extraParams.set(key, value);\n return this;\n }\n\n public buildHttpParams(): HttpParams {\n let params = new HttpParams()\n .set('search', this.search)\n .set('page', String(this.page))\n .set('size', String(this.size));\n\n const sort = Array.isArray(this.sort) ? this.sort : [this.sort];\n sort.forEach(value => {\n params = params.append('sort', value);\n });\n\n this.extraParams.forEach((value, key) => {\n params = params.set(key, value);\n });\n\n return params;\n }\n}\n","import {ChangeDetectorRef, Inject, Injectable, PLATFORM_ID} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\nimport {AbstractControl} from '@angular/forms';\nimport {Router} from '@angular/router';\nimport {HttpClient, HttpHeaders, HttpParams, HttpRequest} from '@angular/common/http';\n\nimport {Observable, of, timer} from 'rxjs';\nimport {map, switchMap, tap} from 'rxjs/operators';\n\nimport {ApiConfig, ApiPageable, ApiResponse} from './model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkApiService {\n\n apiServer;\n isPlatformBrowser: boolean;\n\n maintenanceUrl = '/maintenance';\n errorUrl = '/error';\n loginUrl = '/login';\n\n constructor(@Inject('config') private config: ApiConfig,\n @Inject(PLATFORM_ID) private platformId,\n private router: Router,\n private http: HttpClient) {\n\n if (!config.apiServer) {\n throw Error('ApiService는 baseurl을 주입받아야 합니다.');\n }\n this.apiServer = config.apiServer;\n\n if (!!config.maintenanceUrl) {\n this.maintenanceUrl = config.maintenanceUrl;\n }\n\n if (!!config.loginUrl) {\n this.loginUrl = config.loginUrl;\n }\n\n if (!!config.errorUrl) {\n this.errorUrl = config.errorUrl;\n }\n\n this.isPlatformBrowser = isPlatformBrowser(this.platformId);\n }\n\n get<T>(path: string, parameters?: HttpParams): Observable<ApiResponse<T>> {\n return this.http.get<ApiResponse<T>>(this.apiServer + path, {\n headers: this.parseTokenHeader(),\n params: parameters,\n withCredentials: true\n }).pipe(\n tap(\n next => this.handleNext(next),\n error => this.handleError(error)\n )\n );\n }\n\n getPageable<T>(path: string, parameters?: HttpParams): Observable<ApiResponse<ApiPageable<T>>> {\n return this.http.get<ApiResponse<ApiPageable<T>>>(this.apiServer + path, {\n headers: this.parseTokenHeader(),\n params: parameters,\n withCredentials: true\n }).pipe(\n tap(\n next => this.handleNext(next),\n error => this.handleError(error)\n )\n );\n }\n\n post<T>(path: string, body: any, parameters?: HttpParams): Observable<ApiResponse<T>> {\n return this.http.post<ApiResponse<T>>(this.apiServer + path, body, {\n headers: this.parseTokenHeader(),\n params: parameters,\n withCredentials: true\n }).pipe(\n tap(\n next => this.handleNext(next),\n error => this.handleError(error)\n )\n );\n }\n\n put<T>(path: string, body: any, parameters?: HttpParams): Observable<ApiResponse<T>> {\n return this.http.put<ApiResponse<T>>(this.apiServer + path, body, {\n headers: this.parseTokenHeader(),\n params: parameters,\n withCredentials: true\n }).pipe(\n tap(\n next => this.handleNext(next),\n error => this.handleError(error)\n )\n );\n }\n\n delete<T>(path: string, parameters?: HttpParams): Observable<ApiResponse<T>> {\n return this.http.delete<ApiResponse<T>>(this.apiServer + path, {\n headers: this.parseTokenHeader(),\n params: parameters,\n withCredentials: true\n }).pipe(\n tap(\n next => this.handleNext(next),\n error => this.handleError(error)\n )\n );\n }\n\n // 원시적인 request, apiservice의 다른 도움을 받지 못한다.\n rawRequest<T>(req: HttpRequest<T>) {\n return this.http.request(req);\n }\n\n parseTokenHeader(): HttpHeaders {\n const token = this.getToken();\n if (!!token) {\n return new HttpHeaders().set('Authorization', `Bearer ${token}`);\n } else {\n return new HttpHeaders();\n }\n }\n\n setToken(tokenString: string) {\n if (this.isPlatformBrowser) {\n localStorage.setItem('token', tokenString);\n }\n }\n\n getToken(): string {\n return this.isPlatformBrowser ? localStorage.getItem('token') : null;\n }\n\n clearToken() {\n if (this.isPlatformBrowser) {\n localStorage.removeItem('token');\n }\n }\n\n handleError(error) {\n if (error.status === 0) {\n // 서버와 연결 수립이 안될 경우 or 서버가 미가동 상태일때\n this.router.navigate([this.maintenanceUrl], {skipLocationChange: true});\n } else if (error.status === 500 || error.status === 502 || error.status === 404) {\n this.router.navigate([this.errorUrl], {skipLocationChange: true});\n } else {\n throw new Error(error.message);\n }\n }\n\n handleNext(next) {\n if (next && next.error) {\n throw new Error(next.message);\n }\n }\n\n getDuplicateValidator(apiService: SkApiService, path: string, key: string, ignore: number = 0, cdRef: ChangeDetectorRef = null) {\n return (control: AbstractControl): Observable<any> => {\n return timer(500)\n .pipe(\n switchMap(() => {\n // if (control.pristine && control.valid) {\n // return of(false);\n // } else {\n return apiService.get<boolean>(path, new HttpParams().append(key, String(control.value)).append('ignore', String(ignore)))\n .pipe(map((result: ApiResponse<boolean>) => result.data));\n // }\n }),\n map(result => {\n return result ? {duplicated: true} : null;\n }),\n tap(() => setTimeout(() => {\n if (cdRef) {\n cdRef.markForCheck();\n }\n }, 0))\n );\n };\n }\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\nimport {RouterModule} from '@angular/router';\nimport {ApiConfig} from './model';\nimport {SkApiService} from './sk-api.service';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n RouterModule,\n HttpClientModule,\n ]\n})\nexport class SkApiModule {\n static forRoot(config: ApiConfig): ModuleWithProviders<SkApiModule> {\n return {\n ngModule: SkApiModule,\n providers: [SkApiService, {provide: 'config', useValue: config}]\n };\n }\n}\n"]}
|