@rolatech/angular-course 17.6.3 → 19.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/rolatech-angular-course-course-index.component-Ba8BsDP1.mjs +55 -0
- package/fesm2022/rolatech-angular-course-course-index.component-Ba8BsDP1.mjs.map +1 -0
- package/fesm2022/rolatech-angular-course.mjs +276 -301
- package/fesm2022/rolatech-angular-course.mjs.map +1 -1
- package/lib/components/index.d.ts +0 -1
- package/package.json +8 -6
- package/themes/_default.scss +1 -1
- package/esm2022/index.mjs +0 -7
- package/esm2022/lib/components/course-action/course-action.component.mjs +0 -29
- package/esm2022/lib/components/course-details/course-details.component.mjs +0 -28
- package/esm2022/lib/components/course-details-dialog/course-details-dialog.component.mjs +0 -92
- package/esm2022/lib/components/course-edit-dialog/course-edit-dialog.component.mjs +0 -233
- package/esm2022/lib/components/course-info/course-info.component.mjs +0 -23
- package/esm2022/lib/components/course-item/course-item.component.mjs +0 -18
- package/esm2022/lib/components/course-media/course-media.component.mjs +0 -34
- package/esm2022/lib/components/course-media-owner-renderer/course-media-owner-renderer.component.mjs +0 -20
- package/esm2022/lib/components/course-preview/course-preview.component.mjs +0 -11
- package/esm2022/lib/components/course-pricing/course-pricing.component.mjs +0 -14
- package/esm2022/lib/components/course-pricing-add-dialog/course-pricing-add-dialog.component.mjs +0 -25
- package/esm2022/lib/components/course-pricing-dialog/course-pricing-dialog.component.mjs +0 -59
- package/esm2022/lib/components/course-schedule/course-schedule.component.mjs +0 -20
- package/esm2022/lib/components/course-schedule-add-dialog/course-schedule-add-dialog.component.mjs +0 -26
- package/esm2022/lib/components/course-schedule-dialog/course-schedule-dialog.component.mjs +0 -56
- package/esm2022/lib/components/course-section-item/course-section-item.component.mjs +0 -52
- package/esm2022/lib/components/course-section-lecture-item/course-section-lecture-item.component.mjs +0 -112
- package/esm2022/lib/components/course-section-lecture-video-dialog/course-section-lecture-video-dialog.component.mjs +0 -111
- package/esm2022/lib/components/course-section-lecture-video-item/course-section-lecture-video-item.component.mjs +0 -11
- package/esm2022/lib/components/course-sections/course-sections.component.mjs +0 -28
- package/esm2022/lib/components/detail-item/detail-item.component.mjs +0 -72
- package/esm2022/lib/components/index.mjs +0 -24
- package/esm2022/lib/components/pricing-item/pricing-item.component.mjs +0 -44
- package/esm2022/lib/components/schedule-item/schedule-item.component.mjs +0 -127
- package/esm2022/lib/interfaces/category.mjs +0 -2
- package/esm2022/lib/interfaces/course.mjs +0 -146
- package/esm2022/lib/interfaces/index.mjs +0 -2
- package/esm2022/lib/interfaces/media.mjs +0 -2
- package/esm2022/lib/pages/course/course-category/course-category.component.mjs +0 -74
- package/esm2022/lib/pages/course/course-detail/course-detail.component.mjs +0 -148
- package/esm2022/lib/pages/course/course-index/course-index.component.mjs +0 -53
- package/esm2022/lib/pages/course/course-layout/course-layout.component.mjs +0 -49
- package/esm2022/lib/pages/course/course-section-content/course-section-content.component.mjs +0 -133
- package/esm2022/lib/pages/course/course.routes.mjs +0 -33
- package/esm2022/lib/pages/course-manage/course-manage-content/course-manage-content.component.mjs +0 -12
- package/esm2022/lib/pages/course-manage/course-manage-details/course-manage-details.component.mjs +0 -159
- package/esm2022/lib/pages/course-manage/course-manage-info/course-manage-info.component.mjs +0 -139
- package/esm2022/lib/pages/course-manage/course-manage-layout/course-manage-layout.component.mjs +0 -68
- package/esm2022/lib/pages/course-manage/course-manage-media/course-manage-media.component.mjs +0 -137
- package/esm2022/lib/pages/course-manage/course-manage-pricing/course-manage-pricing.component.mjs +0 -127
- package/esm2022/lib/pages/course-manage/course-manage-schedule/course-manage-schedule.component.mjs +0 -131
- package/esm2022/lib/pages/course-manage/course-manage-section/course-manage-section.component.mjs +0 -341
- package/esm2022/lib/pages/course-manage/course-manage.routes.mjs +0 -40
- package/esm2022/lib/services/booking.service.mjs +0 -24
- package/esm2022/lib/services/category.service.mjs +0 -38
- package/esm2022/lib/services/course-section.service.mjs +0 -26
- package/esm2022/lib/services/course.service.mjs +0 -280
- package/esm2022/lib/services/index.mjs +0 -6
- package/esm2022/lib/services/instructor.service.mjs +0 -24
- package/esm2022/provider.mjs +0 -13
- package/esm2022/rolatech-angular-course.mjs +0 -5
- package/fesm2022/rolatech-angular-course-course-index.component-Cy7RMzDZ.mjs +0 -78
- package/fesm2022/rolatech-angular-course-course-index.component-Cy7RMzDZ.mjs.map +0 -1
- package/lib/components/course-item/course-item.component.d.ts +0 -9
|
@@ -8,7 +8,6 @@ export { CourseSectionsComponent } from './course-sections/course-sections.compo
|
|
|
8
8
|
export { CourseSectionItemComponent } from './course-section-item/course-section-item.component';
|
|
9
9
|
export { CourseSectionLectureItemComponent } from './course-section-lecture-item/course-section-lecture-item.component';
|
|
10
10
|
export { CourseSectionLectureVideoItemComponent } from './course-section-lecture-video-item/course-section-lecture-video-item.component';
|
|
11
|
-
export { CourseItemComponent } from './course-item/course-item.component';
|
|
12
11
|
export { CoursePricingAddDialogComponent } from './course-pricing-add-dialog/course-pricing-add-dialog.component';
|
|
13
12
|
export { CourseScheduleAddDialogComponent } from './course-schedule-add-dialog/course-schedule-add-dialog.component';
|
|
14
13
|
export { CoursePricingDialogComponent } from './course-pricing-dialog/course-pricing-dialog.component';
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rolatech/angular-course",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "19.0.0-beta.0",
|
|
4
|
+
"private": false,
|
|
4
5
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^
|
|
6
|
-
"@angular/core": "^
|
|
6
|
+
"@angular/common": "^19.0.0",
|
|
7
|
+
"@angular/core": "^19.0.0"
|
|
7
8
|
},
|
|
8
9
|
"dependencies": {
|
|
9
10
|
"tslib": "^2.5.0"
|
|
@@ -14,12 +15,13 @@
|
|
|
14
15
|
"url": "https://github.com/viablecell/rolatech-web.git"
|
|
15
16
|
},
|
|
16
17
|
"license": "MIT",
|
|
18
|
+
"publishConfig": {
|
|
19
|
+
"access": "public"
|
|
20
|
+
},
|
|
17
21
|
"exports": {
|
|
18
22
|
".": {
|
|
19
23
|
"sass": "./themes/styles.scss",
|
|
20
24
|
"types": "./index.d.ts",
|
|
21
|
-
"esm2022": "./esm2022/rolatech-angular-course.mjs",
|
|
22
|
-
"esm": "./esm2022/rolatech-angular-course.mjs",
|
|
23
25
|
"default": "./fesm2022/rolatech-angular-course.mjs"
|
|
24
26
|
},
|
|
25
27
|
"./package.json": {
|
|
@@ -28,4 +30,4 @@
|
|
|
28
30
|
},
|
|
29
31
|
"module": "fesm2022/rolatech-angular-course.mjs",
|
|
30
32
|
"typings": "index.d.ts"
|
|
31
|
-
}
|
|
33
|
+
}
|
package/themes/_default.scss
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-20{z-index:20}.z-30{z-index:30}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.-m-1{margin:-.25rem}.m-3{margin:.75rem}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-bottom:.5rem;margin-top:.5rem}.-ml-2{margin-left:-.5rem}.-mt-4{margin-top:-1rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-14{margin-left:3.5rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-\[40px\]{margin-left:40px}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-\[6px\]{margin-top:6px}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-4{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.aspect-video{aspect-ratio:16/9}.h-0{height:0}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-4{height:1rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-\[190px\]{height:190px}.h-\[256px\]{height:256px}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-32{max-height:8rem}.max-h-8{max-height:2rem}.max-h-9{max-height:2.25rem}.max-h-\[55vh\]{max-height:55vh}.min-h-10{min-height:2.5rem}.min-h-11{min-height:2.75rem}.min-h-\[28px\]{min-height:28px}.min-h-\[320px\]{min-height:320px}.w-1{width:.25rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2\/3{width:66.666667%}.w-2\/5{width:40%}.w-20{width:5rem}.w-3\/5{width:60%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-7{width:1.75rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[190px\]{width:190px}.w-\[256px\]{width:256px}.w-\[60px\]{width:60px}.w-full{width:100%}.min-w-10{min-width:2.5rem}.min-w-9{min-width:2.25rem}.min-w-\[240px\]{min-width:240px}.min-w-\[256px\]{min-width:256px}.min-w-\[28px\]{min-width:28px}.min-w-\[320px\]{min-width:320px}.max-w-8{max-width:2rem}.max-w-\[1120px\]{max-width:1120px}.max-w-\[1280px\]{max-width:1280px}.max-w-\[500px\]{max-width:500px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.grow{flex-grow:1}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.scale-90,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-x-scroll{overflow-x:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-pre{white-space:pre}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-dashed{border-style:dashed}.border-\[--rt-border-color\]{border-color:var(--rt-border-color)}.bg-\[--rt-10-percent-layer\]{background-color:var(--rt-10-percent-layer)}.bg-\[--rt-badge-chip-background\]{background-color:var(--rt-badge-chip-background)}.bg-\[--rt-base-background\]{background-color:var(--rt-base-background)}.bg-\[--rt-brand-color\]{background-color:var(--rt-brand-color)}.bg-\[--rt-raised-background\]{background-color:var(--rt-raised-background)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-fixed{background-attachment:fixed}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-1{padding:.25rem!important}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-2{padding-right:.5rem}.pt-2{padding-top:.5rem}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[0\.9rem\]{font-size:.9rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-3{line-height:.75rem}.leading-none{line-height:1}.text-\[--rt-brand-color\]{color:var(--rt-brand-color)}.text-\[--rt-text-primary\]{color:var(--rt-text-primary)}.text-\[--rt-text-secondary\]{color:var(--rt-text-secondary)}.text-transparent{color:transparent}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-30{opacity:.3}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-dashed{outline-style:dashed}.outline-1{outline-width:1px}.outline-4{outline-width:4px}.outline-transparent{outline-color:transparent}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:bg-\[--rt-10-percent-layer\]:hover{background-color:var(--rt-10-percent-layer)}.hover\:bg-\[--rt-base-background\]:hover{background-color:var(--rt-base-background)}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:outline-\[--rt-raised-background\]:hover{outline-color:var(--rt-raised-background)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.group:hover .group-hover\:visible{visibility:visible}@media (min-width:600px){.sm\:w-1\/3{width:33.333333%}}@media (min-width:768px){.md\:visible{visibility:visible}.md\:mb-1{margin-bottom:.25rem}.md\:ml-2{margin-left:.5rem}.md\:ml-8{margin-left:2rem}.md\:mr-0{margin-right:0}.md\:mt-6{margin-top:1.5rem}.md\:line-clamp-2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.md\:block{display:block}.md\:flex{display:flex}.md\:h-auto{height:auto}.md\:h-full{height:100%}.md\:w-1\/2{width:50%}.md\:w-1\/4{width:25%}.md\:w-3\/4{width:75%}.md\:w-80{width:20rem}.md\:w-full{width:100%}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:items-start{align-items:flex-start}.md\:gap-10{gap:2.5rem}.md\:rounded-xl{border-radius:.75rem}.md\:bg-\[--rt-base-background\]{background-color:var(--rt-base-background)}.md\:px-1{padding-left:.25rem;padding-right:.25rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:text-lg{font-size:1.125rem}.md\:text-lg,.md\:text-xl{line-height:1.75rem}.md\:text-xl{font-size:1.25rem}}@media (min-width:1024px){.lg\:mt-4{margin-top:1rem}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:w-1\/6{width:16.666667%}.lg\:w-\[30\%\]{width:30%}.lg\:w-\[70\%\]{width:70%}.lg\:basis-1\/2{flex-basis:50%}.lg\:flex-row{flex-direction:row}.lg\:px-0{padding-left:0;padding-right:0}.lg\:px-6{padding-left:1.5rem}.lg\:pr-6,.lg\:px-6{padding-right:1.5rem}.lg\:pt-0{padding-top:0}}@media (min-width:1280px){.xl\:max-w-\[1024px\]{max-width:1024px}}@media (min-width:1536px){.\32xl\:max-w-\[1280px\]{max-width:1280px}}
|
|
1
|
+
.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-20{z-index:20}.z-30{z-index:30}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.-m-1{margin:-.25rem}.m-3{margin:.75rem}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-bottom:.5rem;margin-top:.5rem}.-ml-2{margin-left:-.5rem}.-mt-4{margin-top:-1rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-14{margin-left:3.5rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-\[40px\]{margin-left:40px}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-\[6px\]{margin-top:6px}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-4{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.aspect-video{aspect-ratio:16/9}.h-0{height:0}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-4{height:1rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-\[190px\]{height:190px}.h-\[256px\]{height:256px}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-32{max-height:8rem}.max-h-8{max-height:2rem}.max-h-9{max-height:2.25rem}.max-h-\[55vh\]{max-height:55vh}.min-h-10{min-height:2.5rem}.min-h-11{min-height:2.75rem}.min-h-\[28px\]{min-height:28px}.min-h-\[320px\]{min-height:320px}.w-1{width:.25rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2\/3{width:66.666667%}.w-2\/5{width:40%}.w-20{width:5rem}.w-3\/5{width:60%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-7{width:1.75rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[190px\]{width:190px}.w-\[256px\]{width:256px}.w-\[60px\]{width:60px}.w-full{width:100%}.min-w-10{min-width:2.5rem}.min-w-9{min-width:2.25rem}.min-w-\[240px\]{min-width:240px}.min-w-\[256px\]{min-width:256px}.min-w-\[28px\]{min-width:28px}.min-w-\[320px\]{min-width:320px}.max-w-8{max-width:2rem}.max-w-\[1120px\]{max-width:1120px}.max-w-\[1280px\]{max-width:1280px}.max-w-\[500px\]{max-width:500px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.grow{flex-grow:1}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.scale-90,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-x-scroll{overflow-x:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-pre{white-space:pre}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-dashed{border-style:dashed}.border-\[--rt-border-color\]{border-color:var(--rt-border-color)}.bg-\[--rt-10-percent-layer\]{background-color:var(--rt-10-percent-layer)}.bg-\[--rt-badge-chip-background\]{background-color:var(--rt-badge-chip-background)}.bg-\[--rt-base-background\]{background-color:var(--rt-base-background)}.bg-\[--rt-brand-color\]{background-color:var(--rt-brand-color)}.bg-\[--rt-raised-background\]{background-color:var(--rt-raised-background)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-fixed{background-attachment:fixed}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-1{padding:.25rem!important}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-2{padding-right:.5rem}.pt-2{padding-top:.5rem}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[0\.9rem\]{font-size:.9rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-3{line-height:.75rem}.leading-none{line-height:1}.text-\[--rt-brand-color\]{color:var(--rt-brand-color)}.text-\[--rt-text-primary\]{color:var(--rt-text-primary)}.text-\[--rt-text-secondary\]{color:var(--rt-text-secondary)}.text-transparent{color:transparent}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-30{opacity:.3}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-dashed{outline-style:dashed}.outline-1{outline-width:1px}.outline-4{outline-width:4px}.outline-transparent{outline-color:transparent}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:bg-\[--rt-10-percent-layer\]:hover{background-color:var(--rt-10-percent-layer)}.hover\:bg-\[--rt-base-background\]:hover{background-color:var(--rt-base-background)}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:outline-\[--rt-raised-background\]:hover{outline-color:var(--rt-raised-background)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.group:hover .group-hover\:visible{visibility:visible}@media (min-width:600px){.sm\:w-1\/3{width:33.333333%}}@media (min-width:768px){.md\:visible{visibility:visible}.md\:mb-1{margin-bottom:.25rem}.md\:ml-2{margin-left:.5rem}.md\:ml-8{margin-left:2rem}.md\:mr-0{margin-right:0}.md\:mt-6{margin-top:1.5rem}.md\:line-clamp-2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.md\:block{display:block}.md\:flex{display:flex}.md\:h-auto{height:auto}.md\:h-full{height:100%}.md\:w-1\/2{width:50%}.md\:w-1\/4{width:25%}.md\:w-3\/4{width:75%}.md\:w-80{width:20rem}.md\:w-full{width:100%}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:items-start{align-items:flex-start}.md\:gap-10{gap:2.5rem}.md\:rounded-xl{border-radius:.75rem}.md\:bg-\[--rt-base-background\]{background-color:var(--rt-base-background)}.md\:px-1{padding-left:.25rem;padding-right:.25rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:text-lg{font-size:1.125rem}.md\:text-lg,.md\:text-xl{line-height:1.75rem}.md\:text-xl{font-size:1.25rem}}@media (min-width:1024px){.lg\:mt-4{margin-top:1rem}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:w-1\/6{width:16.666667%}.lg\:w-\[30\%\]{width:30%}.lg\:w-\[70\%\]{width:70%}.lg\:basis-1\/2{flex-basis:50%}.lg\:flex-row{flex-direction:row}.lg\:px-0{padding-left:0;padding-right:0}.lg\:px-6{padding-left:1.5rem}.lg\:pr-6,.lg\:px-6{padding-right:1.5rem}.lg\:pt-0{padding-top:0}}@media (min-width:1280px){.xl\:max-w-\[1024px\]{max-width:1024px}}@media (min-width:1536px){.\32xl\:max-w-\[1280px\]{max-width:1280px}}
|
package/esm2022/index.mjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export * from './lib/interfaces';
|
|
2
|
-
export * from './provider';
|
|
3
|
-
export * from './lib/components';
|
|
4
|
-
export * from './lib/services';
|
|
5
|
-
export { courseRoutes } from './lib/pages/course/course.routes';
|
|
6
|
-
export { courseManageRoutes } from './lib/pages/course-manage/course-manage.routes';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY291cnNlL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0RBQWdELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgeyBjb3Vyc2VSb3V0ZXMgfSBmcm9tICcuL2xpYi9wYWdlcy9jb3Vyc2UvY291cnNlLnJvdXRlcyc7XG5leHBvcnQgeyBjb3Vyc2VNYW5hZ2VSb3V0ZXMgfSBmcm9tICcuL2xpYi9wYWdlcy9jb3Vyc2UtbWFuYWdlL2NvdXJzZS1tYW5hZ2Uucm91dGVzJztcbiJdfQ==
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Component, input, output } from '@angular/core';
|
|
2
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/material/button";
|
|
5
|
-
export class CourseActionComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.course = input.required();
|
|
8
|
-
this.inWishList = input(false);
|
|
9
|
-
this.cart = output();
|
|
10
|
-
this.wish = output();
|
|
11
|
-
this.checkout = output();
|
|
12
|
-
}
|
|
13
|
-
onCart(course) {
|
|
14
|
-
this.cart.emit(course);
|
|
15
|
-
}
|
|
16
|
-
onWish(course) {
|
|
17
|
-
this.wish.emit(course);
|
|
18
|
-
}
|
|
19
|
-
onCheckout(course) {
|
|
20
|
-
this.checkout.emit(course);
|
|
21
|
-
}
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CourseActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: CourseActionComponent, isStandalone: true, selector: "rolatech-course-action", inputs: { course: { classPropertyName: "course", publicName: "course", isSignal: true, isRequired: true, transformFunction: null }, inWishList: { classPropertyName: "inWishList", publicName: "inWishList", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { cart: "cart", wish: "wish", checkout: "checkout" }, ngImport: i0, template: "<div class=\"flex flex-col\">\n <!-- <a class=\"p-3 bg-[--rt-brand-color] text-center mt-3\" target=\"_blank\" (click)=\"onCart(course)\">\u52A0\u5165\u8D2D\u7269\u8F66</a> -->\n <a mat-flat-button class=\"mt-3 min-h-11\" target=\"_blank\" (click)=\"onCheckout(course())\">\u7ACB\u5373\u8D2D\u4E70</a>\n <a mat-stroked-button class=\"mt-3 min-h-11\" target=\"_blank\" (click)=\"onWish(course())\">{{\n inWishList() ? '\u79FB\u9664\u6536\u85CF' : '\u52A0\u5165\u6536\u85CF'\n }}</a>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }] }); }
|
|
24
|
-
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CourseActionComponent, decorators: [{
|
|
26
|
-
type: Component,
|
|
27
|
-
args: [{ standalone: true, selector: 'rolatech-course-action', imports: [MatButtonModule], template: "<div class=\"flex flex-col\">\n <!-- <a class=\"p-3 bg-[--rt-brand-color] text-center mt-3\" target=\"_blank\" (click)=\"onCart(course)\">\u52A0\u5165\u8D2D\u7269\u8F66</a> -->\n <a mat-flat-button class=\"mt-3 min-h-11\" target=\"_blank\" (click)=\"onCheckout(course())\">\u7ACB\u5373\u8D2D\u4E70</a>\n <a mat-stroked-button class=\"mt-3 min-h-11\" target=\"_blank\" (click)=\"onWish(course())\">{{\n inWishList() ? '\u79FB\u9664\u6536\u85CF' : '\u52A0\u5165\u6536\u85CF'\n }}</a>\n</div>\n" }]
|
|
28
|
-
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY291cnNlL3NyYy9saWIvY29tcG9uZW50cy9jb3Vyc2UtYWN0aW9uL2NvdXJzZS1hY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLWFjdGlvbi9jb3Vyc2UtYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQVUzRCxNQUFNLE9BQU8scUJBQXFCO0lBUGxDO1FBUUUsV0FBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNsQyxlQUFVLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRW5DLFNBQUksR0FBRyxNQUFNLEVBQVUsQ0FBQztRQUN4QixTQUFJLEdBQUcsTUFBTSxFQUFVLENBQUM7UUFDeEIsYUFBUSxHQUFHLE1BQU0sRUFBVSxDQUFDO0tBVzdCO0lBVEMsTUFBTSxDQUFDLE1BQWM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUNELE1BQU0sQ0FBQyxNQUFjO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxVQUFVLENBQUMsTUFBYztRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDOzhHQWhCVSxxQkFBcUI7a0dBQXJCLHFCQUFxQiw4WkNYbEMsb2ZBT0EseURERVksZUFBZTs7MkZBRWQscUJBQXFCO2tCQVBqQyxTQUFTO2lDQUNJLElBQUksWUFDTix3QkFBd0IsV0FHekIsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBDb3Vyc2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtY291cnNlLWFjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3Vyc2UtYWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY291cnNlLWFjdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbTWF0QnV0dG9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ291cnNlQWN0aW9uQ29tcG9uZW50IHtcbiAgY291cnNlID0gaW5wdXQucmVxdWlyZWQ8Q291cnNlPigpO1xuICBpbldpc2hMaXN0ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNhcnQgPSBvdXRwdXQ8Q291cnNlPigpO1xuICB3aXNoID0gb3V0cHV0PENvdXJzZT4oKTtcbiAgY2hlY2tvdXQgPSBvdXRwdXQ8Q291cnNlPigpO1xuXG4gIG9uQ2FydChjb3Vyc2U6IENvdXJzZSkge1xuICAgIHRoaXMuY2FydC5lbWl0KGNvdXJzZSk7XG4gIH1cbiAgb25XaXNoKGNvdXJzZTogQ291cnNlKSB7XG4gICAgdGhpcy53aXNoLmVtaXQoY291cnNlKTtcbiAgfVxuICBvbkNoZWNrb3V0KGNvdXJzZTogQ291cnNlKSB7XG4gICAgdGhpcy5jaGVja291dC5lbWl0KGNvdXJzZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCI+XG4gIDwhLS0gPGEgY2xhc3M9XCJwLTMgYmctWy0tcnQtYnJhbmQtY29sb3JdIHRleHQtY2VudGVyIG10LTNcIiB0YXJnZXQ9XCJfYmxhbmtcIiAoY2xpY2spPVwib25DYXJ0KGNvdXJzZSlcIj7liqDlhaXotK3nianovaY8L2E+IC0tPlxuICA8YSBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJtdC0zIG1pbi1oLTExXCIgdGFyZ2V0PVwiX2JsYW5rXCIgKGNsaWNrKT1cIm9uQ2hlY2tvdXQoY291cnNlKCkpXCI+56uL5Y2z6LSt5LmwPC9hPlxuICA8YSBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJtdC0zIG1pbi1oLTExXCIgdGFyZ2V0PVwiX2JsYW5rXCIgKGNsaWNrKT1cIm9uV2lzaChjb3Vyc2UoKSlcIj57e1xuICAgIGluV2lzaExpc3QoKSA/ICfnp7vpmaTmlLbol48nIDogJ+WKoOWFpeaUtuiXjydcbiAgfX08L2E+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { ViewportScroller } from '@angular/common';
|
|
2
|
-
import { Component, ElementRef, inject, input, PLATFORM_ID } from '@angular/core';
|
|
3
|
-
import { ThumbnailComponent } from '@rolatech/angular-components';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class CourseDetailsComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.details = input.required();
|
|
8
|
-
this.instructor = input();
|
|
9
|
-
this.username = input();
|
|
10
|
-
this.el = inject(ElementRef);
|
|
11
|
-
this.viewportScroller = inject(ViewportScroller);
|
|
12
|
-
this.platformId = inject(PLATFORM_ID);
|
|
13
|
-
this.show = false;
|
|
14
|
-
this.mediaIndex = 0;
|
|
15
|
-
this.finalSchedule = [];
|
|
16
|
-
}
|
|
17
|
-
ngOnInit() { }
|
|
18
|
-
onClickScroller(id) {
|
|
19
|
-
this.viewportScroller.scrollToAnchor(id);
|
|
20
|
-
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CourseDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: CourseDetailsComponent, isStandalone: true, selector: "rolatech-course-details", inputs: { details: { classPropertyName: "details", publicName: "details", isSignal: true, isRequired: true, transformFunction: null }, instructor: { classPropertyName: "instructor", publicName: "instructor", isSignal: true, isRequired: false, transformFunction: null }, username: { classPropertyName: "username", publicName: "username", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"py-3\" id=\"details\">\n <div class=\"text-xl font-medium py-2\">\u8BE6\u60C5</div>\n @if (details()) {\n @for (detail of details(); track $index) {\n <div>\n @if (detail.title) {\n <div class=\"py-3 flex items-center gap-3\">\n <span class=\"h-4 w-1 bg-[--rt-brand-color] inline-block\"></span>\n <span class=\"text-lg font-medium py-1\"> {{ detail.title }}</span>\n </div>\n }\n @if (detail.content) {\n <div>\n {{ detail.content }}\n </div>\n }\n @if (detail.media) {\n <div class=\"w-80%\">\n @for (item of detail.media; track item) {\n <div class=\"py-3\">\n <rolatech-thumbnail\n [src]=\"item.url\"\n size=\"small\"\n mode=\"full\"\n [width]=\"item.width\"\n [height]=\"item.height\"\n ></rolatech-thumbnail>\n </div>\n }\n </div>\n }\n </div>\n }\n }\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ThumbnailComponent, selector: "rolatech-thumbnail", inputs: ["src", "size", "mode", "ratio", "width", "height"] }] }); }
|
|
23
|
-
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CourseDetailsComponent, decorators: [{
|
|
25
|
-
type: Component,
|
|
26
|
-
args: [{ selector: 'rolatech-course-details', standalone: true, imports: [ThumbnailComponent], template: "<div class=\"py-3\" id=\"details\">\n <div class=\"text-xl font-medium py-2\">\u8BE6\u60C5</div>\n @if (details()) {\n @for (detail of details(); track $index) {\n <div>\n @if (detail.title) {\n <div class=\"py-3 flex items-center gap-3\">\n <span class=\"h-4 w-1 bg-[--rt-brand-color] inline-block\"></span>\n <span class=\"text-lg font-medium py-1\"> {{ detail.title }}</span>\n </div>\n }\n @if (detail.content) {\n <div>\n {{ detail.content }}\n </div>\n }\n @if (detail.media) {\n <div class=\"w-80%\">\n @for (item of detail.media; track item) {\n <div class=\"py-3\">\n <rolatech-thumbnail\n [src]=\"item.url\"\n size=\"small\"\n mode=\"full\"\n [width]=\"item.width\"\n [height]=\"item.height\"\n ></rolatech-thumbnail>\n </div>\n }\n </div>\n }\n </div>\n }\n }\n</div>\n" }]
|
|
27
|
-
}] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLWRldGFpbHMvY291cnNlLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLWRldGFpbHMvY291cnNlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBVWxFLE1BQU0sT0FBTyxzQkFBc0I7SUFQbkM7UUFRRSxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBa0IsQ0FBQztRQUMzQyxlQUFVLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDN0IsYUFBUSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzNCLE9BQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEIscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDNUMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUlqQyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGtCQUFhLEdBQUcsRUFBRSxDQUFDO0tBTXBCO0lBTEMsUUFBUSxLQUFVLENBQUM7SUFFbkIsZUFBZSxDQUFDLEVBQVU7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDOzhHQWxCVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixvZUNabkMscWtDQW1DQSwwRER6Qlksa0JBQWtCOzsyRkFFakIsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLHlCQUF5QixjQUd2QixJQUFJLFdBQ1AsQ0FBQyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpZXdwb3J0U2Nyb2xsZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBPbkluaXQsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHVtYm5haWxDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IENvdXJzZURldGFpbCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1jb3Vyc2UtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3Vyc2UtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvdXJzZS1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtUaHVtYm5haWxDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3Vyc2VEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZGV0YWlscyA9IGlucHV0LnJlcXVpcmVkPENvdXJzZURldGFpbFtdPigpO1xuICBpbnN0cnVjdG9yID0gaW5wdXQ8c3RyaW5nPigpO1xuICB1c2VybmFtZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgdmlld3BvcnRTY3JvbGxlciA9IGluamVjdChWaWV3cG9ydFNjcm9sbGVyKTtcbiAgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgcGxheWVyOiBhbnk7XG5cbiAgc2hvdyA9IGZhbHNlO1xuICBtZWRpYUluZGV4ID0gMDtcbiAgZmluYWxTY2hlZHVsZSA9IFtdO1xuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgb25DbGlja1Njcm9sbGVyKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnZpZXdwb3J0U2Nyb2xsZXIuc2Nyb2xsVG9BbmNob3IoaWQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicHktM1wiIGlkPVwiZGV0YWlsc1wiPlxuICA8ZGl2IGNsYXNzPVwidGV4dC14bCBmb250LW1lZGl1bSBweS0yXCI+6K+m5oOFPC9kaXY+XG4gIEBpZiAoZGV0YWlscygpKSB7XG4gICAgQGZvciAoZGV0YWlsIG9mIGRldGFpbHMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8ZGl2PlxuICAgICAgICBAaWYgKGRldGFpbC50aXRsZSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJweS0zIGZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImgtNCB3LTEgYmctWy0tcnQtYnJhbmQtY29sb3JdIGlubGluZS1ibG9ja1wiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1sZyBmb250LW1lZGl1bSBweS0xXCI+IHt7IGRldGFpbC50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGRldGFpbC5jb250ZW50KSB7XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHt7IGRldGFpbC5jb250ZW50IH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChkZXRhaWwubWVkaWEpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidy04MCVcIj5cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZGV0YWlsLm1lZGlhOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweS0zXCI+XG4gICAgICAgICAgICAgICAgPHJvbGF0ZWNoLXRodW1ibmFpbFxuICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLnVybFwiXG4gICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgbW9kZT1cImZ1bGxcIlxuICAgICAgICAgICAgICAgICAgW3dpZHRoXT1cIml0ZW0ud2lkdGhcIlxuICAgICAgICAgICAgICAgICAgW2hlaWdodF09XCJpdGVtLmhlaWdodFwiXG4gICAgICAgICAgICAgICAgPjwvcm9sYXRlY2gtdGh1bWJuYWlsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICB9XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { Component, Inject } from '@angular/core';
|
|
2
|
-
import { MatDialogRef, MAT_DIALOG_DATA, MatDialog, MatDialogClose } from '@angular/material/dialog';
|
|
3
|
-
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
4
|
-
import { remove } from 'lodash';
|
|
5
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
6
|
-
import { DetailItemComponent } from '../detail-item/detail-item.component';
|
|
7
|
-
import { MatStepperModule } from '@angular/material/stepper';
|
|
8
|
-
import { FormsModule } from '@angular/forms';
|
|
9
|
-
import { MatDividerModule } from '@angular/material/divider';
|
|
10
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
11
|
-
import { CourseService } from '../../services';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "@angular/material/dialog";
|
|
14
|
-
import * as i2 from "../../services";
|
|
15
|
-
import * as i3 from "@angular/material/snack-bar";
|
|
16
|
-
import * as i4 from "@angular/material/icon";
|
|
17
|
-
import * as i5 from "@angular/material/divider";
|
|
18
|
-
import * as i6 from "@angular/forms";
|
|
19
|
-
import * as i7 from "@angular/material/stepper";
|
|
20
|
-
import * as i8 from "@angular/material/button";
|
|
21
|
-
export class CourseDetailsDialogComponent {
|
|
22
|
-
constructor(dialogRef, data, courseService, snackBar, dialog) {
|
|
23
|
-
this.dialogRef = dialogRef;
|
|
24
|
-
this.data = data;
|
|
25
|
-
this.courseService = courseService;
|
|
26
|
-
this.snackBar = snackBar;
|
|
27
|
-
this.dialog = dialog;
|
|
28
|
-
this.details = [];
|
|
29
|
-
this.courseId = data.courseId;
|
|
30
|
-
}
|
|
31
|
-
close() {
|
|
32
|
-
this.dialogRef.close();
|
|
33
|
-
}
|
|
34
|
-
addDetail() {
|
|
35
|
-
this.courseService
|
|
36
|
-
.addDetail(this.courseId, {
|
|
37
|
-
title: '',
|
|
38
|
-
description: '',
|
|
39
|
-
content: '',
|
|
40
|
-
media: [],
|
|
41
|
-
})
|
|
42
|
-
.subscribe({
|
|
43
|
-
next: (res) => {
|
|
44
|
-
const detail = res.data;
|
|
45
|
-
this.details.push({
|
|
46
|
-
id: detail.id,
|
|
47
|
-
title: '',
|
|
48
|
-
description: '',
|
|
49
|
-
content: '',
|
|
50
|
-
media: [],
|
|
51
|
-
});
|
|
52
|
-
},
|
|
53
|
-
error: (e) => {
|
|
54
|
-
this.snackBar.open(e.message);
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
onDetailMediaUpload(event) { }
|
|
59
|
-
onDetailMediaDelete(event) { }
|
|
60
|
-
onDetailSave(event) { }
|
|
61
|
-
onDetailDelete(detail) {
|
|
62
|
-
this.courseService.deleteDetail(this.courseId, detail.id).subscribe({
|
|
63
|
-
next: (res) => {
|
|
64
|
-
this.snackBar.open(res.data);
|
|
65
|
-
remove(this.details, {
|
|
66
|
-
id: detail.id,
|
|
67
|
-
});
|
|
68
|
-
},
|
|
69
|
-
error: (e) => {
|
|
70
|
-
this.snackBar.open(e.message);
|
|
71
|
-
},
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CourseDetailsDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.CourseService }, { token: i3.MatSnackBar }, { token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
75
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: CourseDetailsDialogComponent, isStandalone: true, selector: "rolatech-course-details-dialog", ngImport: i0, template: "<div class=\"flex flex-col h-full overflow-hidden\">\n <div class=\"h-16 flex justify-between items-center px-5\">\n @if (data.title) {\n <div class=\"text-md font-medium\">{{ data.title }}</div>\n }\n <div class=\"cursor-pointer\" (click)=\"close()\">\n <mat-icon fontIcon=\"close\"></mat-icon>\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"flex-1 overflow-hidden mt-3 overflow-y-auto\">\n <form #detailForm=\"ngForm\" class=\"p-3\">\n <ng-template matStepLabel>\u8BE6\u60C5</ng-template>\n @for (item of details; track item) {\n <rolatech-detail-item\n [detail]=\"item\"\n (upload)=\"onDetailMediaUpload($event)\"\n (deleteMedia)=\"onDetailMediaDelete($event)\"\n (save)=\"onDetailSave($event)\"\n (delete)=\"onDetailDelete($event)\"\n ></rolatech-detail-item>\n }\n <div class=\"mb-6\">\n <button mat-button (click)=\"addDetail()\">\n <mat-icon>add</mat-icon>\n <span>\u589E\u52A0\u8BE6\u60C5</span>\n </button>\n </div>\n </form>\n </div>\n <mat-divider></mat-divider>\n <div class=\"h-16 flex justify-end items-center px-5\">\n <button mat-button [mat-dialog-close]=\"true\" cdkFocusInitial>\u4FDD\u5B58</button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatStepperModule }, { kind: "directive", type: i7.MatStepLabel, selector: "[matStepLabel]" }, { kind: "component", type: DetailItemComponent, selector: "rolatech-detail-item", inputs: ["isUploading", "detail", "actions", "selectMedia"], outputs: ["upload", "delete", "save", "deleteMedia"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }] }); }
|
|
76
|
-
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CourseDetailsDialogComponent, decorators: [{
|
|
78
|
-
type: Component,
|
|
79
|
-
args: [{ selector: 'rolatech-course-details-dialog', standalone: true, imports: [
|
|
80
|
-
MatIconModule,
|
|
81
|
-
MatDividerModule,
|
|
82
|
-
FormsModule,
|
|
83
|
-
MatStepperModule,
|
|
84
|
-
DetailItemComponent,
|
|
85
|
-
MatButtonModule,
|
|
86
|
-
MatDialogClose,
|
|
87
|
-
], template: "<div class=\"flex flex-col h-full overflow-hidden\">\n <div class=\"h-16 flex justify-between items-center px-5\">\n @if (data.title) {\n <div class=\"text-md font-medium\">{{ data.title }}</div>\n }\n <div class=\"cursor-pointer\" (click)=\"close()\">\n <mat-icon fontIcon=\"close\"></mat-icon>\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"flex-1 overflow-hidden mt-3 overflow-y-auto\">\n <form #detailForm=\"ngForm\" class=\"p-3\">\n <ng-template matStepLabel>\u8BE6\u60C5</ng-template>\n @for (item of details; track item) {\n <rolatech-detail-item\n [detail]=\"item\"\n (upload)=\"onDetailMediaUpload($event)\"\n (deleteMedia)=\"onDetailMediaDelete($event)\"\n (save)=\"onDetailSave($event)\"\n (delete)=\"onDetailDelete($event)\"\n ></rolatech-detail-item>\n }\n <div class=\"mb-6\">\n <button mat-button (click)=\"addDetail()\">\n <mat-icon>add</mat-icon>\n <span>\u589E\u52A0\u8BE6\u60C5</span>\n </button>\n </div>\n </form>\n </div>\n <mat-divider></mat-divider>\n <div class=\"h-16 flex justify-end items-center px-5\">\n <button mat-button [mat-dialog-close]=\"true\" cdkFocusInitial>\u4FDD\u5B58</button>\n </div>\n</div>\n" }]
|
|
88
|
-
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
89
|
-
type: Inject,
|
|
90
|
-
args: [MAT_DIALOG_DATA]
|
|
91
|
-
}] }, { type: i2.CourseService }, { type: i3.MatSnackBar }, { type: i1.MatDialog }] });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLWRldGFpbHMtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb3Vyc2Uvc3JjL2xpYi9jb21wb25lbnRzL2NvdXJzZS1kZXRhaWxzLWRpYWxvZy9jb3Vyc2UtZGV0YWlscy1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLWRldGFpbHMtZGlhbG9nL2NvdXJzZS1kZXRhaWxzLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBUSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBaUIvQyxNQUFNLE9BQU8sNEJBQTRCO0lBR3ZDLFlBQ1UsU0FBcUQsRUFDN0IsSUFBUyxFQUNqQyxhQUE0QixFQUM1QixRQUFxQixFQUNyQixNQUFpQjtRQUpqQixjQUFTLEdBQVQsU0FBUyxDQUE0QztRQUM3QixTQUFJLEdBQUosSUFBSSxDQUFLO1FBQ2pDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQU4zQixZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQVEzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDaEMsQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLGFBQWE7YUFDZixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN4QixLQUFLLEVBQUUsRUFBRTtZQUNULFdBQVcsRUFBRSxFQUFFO1lBQ2YsT0FBTyxFQUFFLEVBQUU7WUFDWCxLQUFLLEVBQUUsRUFBRTtTQUNWLENBQUM7YUFDRCxTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ2hCLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRTtvQkFDYixLQUFLLEVBQUUsRUFBRTtvQkFDVCxXQUFXLEVBQUUsRUFBRTtvQkFDZixPQUFPLEVBQUUsRUFBRTtvQkFDWCxLQUFLLEVBQUUsRUFBRTtpQkFDVixDQUFDLENBQUM7WUFDTCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsS0FBVSxJQUFHLENBQUM7SUFDbEMsbUJBQW1CLENBQUMsS0FBVSxJQUFHLENBQUM7SUFDbEMsWUFBWSxDQUFDLEtBQVUsSUFBRyxDQUFDO0lBQzNCLGNBQWMsQ0FBQyxNQUFvQjtRQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDbEUsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ25CLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRTtpQkFDZCxDQUFDLENBQUM7WUFDTCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXREVSw0QkFBNEIsOENBSzdCLGVBQWU7a0dBTGQsNEJBQTRCLDBGQzVCekMsOHhDQW1DQSx5RERoQkksYUFBYSxtTEFDYixnQkFBZ0Isa0lBQ2hCLFdBQVcsdWRBQ1gsZ0JBQWdCLHlHQUNoQixtQkFBbUIsbUxBQ25CLGVBQWUsNE5BQ2YsY0FBYzs7MkZBR0wsNEJBQTRCO2tCQWZ4QyxTQUFTOytCQUNFLGdDQUFnQyxjQUc5QixJQUFJLFdBQ1A7d0JBQ1AsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsY0FBYztxQkFDZjs7MEJBT0UsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2csIE1hdERpYWxvZ0Nsb3NlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IGxhc3QsIHJlbW92ZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgRGV0YWlsSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2RldGFpbC1pdGVtL2RldGFpbC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRTdGVwcGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc3RlcHBlcic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IENvdXJzZURldGFpbCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ291cnNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtY291cnNlLWRldGFpbHMtZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvdXJzZS1kZXRhaWxzLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvdXJzZS1kZXRhaWxzLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdFN0ZXBwZXJNb2R1bGUsXG4gICAgRGV0YWlsSXRlbUNvbXBvbmVudCxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0RGlhbG9nQ2xvc2UsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvdXJzZURldGFpbHNEaWFsb2dDb21wb25lbnQge1xuICBjb3Vyc2VJZCE6IHN0cmluZztcbiAgZGV0YWlsczogQ291cnNlRGV0YWlsW10gPSBbXTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDb3Vyc2VEZXRhaWxzRGlhbG9nQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSxcbiAgICBwcml2YXRlIGNvdXJzZVNlcnZpY2U6IENvdXJzZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgKSB7XG4gICAgdGhpcy5jb3Vyc2VJZCA9IGRhdGEuY291cnNlSWQ7XG4gIH1cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgfVxuICBhZGREZXRhaWwoKSB7XG4gICAgdGhpcy5jb3Vyc2VTZXJ2aWNlXG4gICAgICAuYWRkRGV0YWlsKHRoaXMuY291cnNlSWQsIHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgICAgIGNvbnRlbnQ6ICcnLFxuICAgICAgICBtZWRpYTogW10sXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRldGFpbCA9IHJlcy5kYXRhO1xuICAgICAgICAgIHRoaXMuZGV0YWlscy5wdXNoKHtcbiAgICAgICAgICAgIGlkOiBkZXRhaWwuaWQsXG4gICAgICAgICAgICB0aXRsZTogJycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgICAgICAgICBjb250ZW50OiAnJyxcbiAgICAgICAgICAgIG1lZGlhOiBbXSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlKSA9PiB7XG4gICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKGUubWVzc2FnZSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuICBvbkRldGFpbE1lZGlhVXBsb2FkKGV2ZW50OiBhbnkpIHt9XG4gIG9uRGV0YWlsTWVkaWFEZWxldGUoZXZlbnQ6IGFueSkge31cbiAgb25EZXRhaWxTYXZlKGV2ZW50OiBhbnkpIHt9XG4gIG9uRGV0YWlsRGVsZXRlKGRldGFpbDogQ291cnNlRGV0YWlsKSB7XG4gICAgdGhpcy5jb3Vyc2VTZXJ2aWNlLmRlbGV0ZURldGFpbCh0aGlzLmNvdXJzZUlkLCBkZXRhaWwuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKHJlcy5kYXRhKTtcbiAgICAgICAgcmVtb3ZlKHRoaXMuZGV0YWlscywge1xuICAgICAgICAgIGlkOiBkZXRhaWwuaWQsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZSkgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oZS5tZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGgtZnVsbCBvdmVyZmxvdy1oaWRkZW5cIj5cbiAgPGRpdiBjbGFzcz1cImgtMTYgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHB4LTVcIj5cbiAgICBAaWYgKGRhdGEudGl0bGUpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIGZvbnQtbWVkaXVtXCI+e3sgZGF0YS50aXRsZSB9fTwvZGl2PlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgICAgPG1hdC1pY29uIGZvbnRJY29uPVwiY2xvc2VcIj48L21hdC1pY29uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4LTEgb3ZlcmZsb3ctaGlkZGVuIG10LTMgb3ZlcmZsb3cteS1hdXRvXCI+XG4gICAgPGZvcm0gI2RldGFpbEZvcm09XCJuZ0Zvcm1cIiBjbGFzcz1cInAtM1wiPlxuICAgICAgPG5nLXRlbXBsYXRlIG1hdFN0ZXBMYWJlbD7or6bmg4U8L25nLXRlbXBsYXRlPlxuICAgICAgQGZvciAoaXRlbSBvZiBkZXRhaWxzOyB0cmFjayBpdGVtKSB7XG4gICAgICAgIDxyb2xhdGVjaC1kZXRhaWwtaXRlbVxuICAgICAgICAgIFtkZXRhaWxdPVwiaXRlbVwiXG4gICAgICAgICAgKHVwbG9hZCk9XCJvbkRldGFpbE1lZGlhVXBsb2FkKCRldmVudClcIlxuICAgICAgICAgIChkZWxldGVNZWRpYSk9XCJvbkRldGFpbE1lZGlhRGVsZXRlKCRldmVudClcIlxuICAgICAgICAgIChzYXZlKT1cIm9uRGV0YWlsU2F2ZSgkZXZlbnQpXCJcbiAgICAgICAgICAoZGVsZXRlKT1cIm9uRGV0YWlsRGVsZXRlKCRldmVudClcIlxuICAgICAgICA+PC9yb2xhdGVjaC1kZXRhaWwtaXRlbT5cbiAgICAgIH1cbiAgICAgIDxkaXYgY2xhc3M9XCJtYi02XCI+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwiYWRkRGV0YWlsKClcIj5cbiAgICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj7lop7liqDor6bmg4U8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuICA8L2Rpdj5cbiAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gIDxkaXYgY2xhc3M9XCJoLTE2IGZsZXgganVzdGlmeS1lbmQgaXRlbXMtY2VudGVyIHB4LTVcIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwidHJ1ZVwiIGNka0ZvY3VzSW5pdGlhbD7kv53lrZg8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|