@campxdev/shared 1.8.13 → 1.8.15
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/package.json
CHANGED
package/src/hooks/index.ts
CHANGED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react'
|
|
2
|
+
const useExternalScript = (url) => {
|
|
3
|
+
let [state, setState] = useState(url ? 'loading' : 'idle')
|
|
4
|
+
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
if (!url) {
|
|
7
|
+
setState('idle')
|
|
8
|
+
return
|
|
9
|
+
}
|
|
10
|
+
let script: any = document.querySelector(`script[src="${url}"]`)
|
|
11
|
+
|
|
12
|
+
const handleScript = (e) => {
|
|
13
|
+
setState(e.type === 'load' ? 'ready' : 'error')
|
|
14
|
+
}
|
|
15
|
+
if (!script) {
|
|
16
|
+
script = document.createElement('script')
|
|
17
|
+
script.type = 'application/javascript'
|
|
18
|
+
script.src = url
|
|
19
|
+
script.async = true
|
|
20
|
+
document.body.appendChild(script)
|
|
21
|
+
script.addEventListener('load', handleScript)
|
|
22
|
+
script.addEventListener('error', handleScript)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
script.addEventListener('load', handleScript)
|
|
26
|
+
script.addEventListener('error', handleScript)
|
|
27
|
+
|
|
28
|
+
return () => {
|
|
29
|
+
script.removeEventListener('load', handleScript)
|
|
30
|
+
script.removeEventListener('error', handleScript)
|
|
31
|
+
}
|
|
32
|
+
}, [url])
|
|
33
|
+
|
|
34
|
+
return state
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export default useExternalScript
|
|
@@ -141,6 +141,10 @@ export enum Permission {
|
|
|
141
141
|
CAN_ASSESSMENT_RULES_DELETE = 'can_assessment_rules_delete',
|
|
142
142
|
CAN_ASSESSMENT_RULES_EDIT = 'can_assessment_rules_edit',
|
|
143
143
|
CAN_ASSESSMENT_RULES_VIEW = 'can_assessment_rules_view',
|
|
144
|
+
CAN_ASSESSMENT_TEMPLATES_ADD = 'can_assessment_templates_add',
|
|
145
|
+
CAN_ASSESSMENT_TEMPLATES_EDIT = 'can_assessment_templates_edit',
|
|
146
|
+
CAN_ASSESSMENT_TEMPLATES_VIEW = 'can_assessment_templates_view',
|
|
147
|
+
CAN_ASSESSMENT_TEMPLATES_DELETE = 'can_assessment_templates_delete',
|
|
144
148
|
CAN_RESULTS_PROCESSING_GENERATE_MEMOS = 'can_results_processing_generate_memos',
|
|
145
149
|
CAN_RESULTS_PROCESSING_MODERATION_AND_GRAFTING = 'can_results_processing_moderation_and_grafting',
|
|
146
150
|
CAN_RESULTS_PROCESSING_PUBLISH_RESULTS = 'can_results_processing_publish_results',
|
|
@@ -373,6 +377,10 @@ export interface IPermissions {
|
|
|
373
377
|
can_grades_edit: boolean
|
|
374
378
|
can_grades_delete: boolean
|
|
375
379
|
can_grades_view: boolean
|
|
380
|
+
can_assessment_templates_add: boolean
|
|
381
|
+
can_assessment_templates_edit: boolean
|
|
382
|
+
can_assessment_templates_view: boolean
|
|
383
|
+
can_assessment_templates_delete: boolean
|
|
376
384
|
}
|
|
377
385
|
|
|
378
386
|
interface IPermissionsStore {
|