diff --git a/admin/tool/componentlibrary/hugo/site/data/fontawesomeicons.json b/admin/tool/componentlibrary/hugo/site/data/fontawesomeicons.json index 495800d3db8..a1afe8d6ba5 100644 --- a/admin/tool/componentlibrary/hugo/site/data/fontawesomeicons.json +++ b/admin/tool/componentlibrary/hugo/site/data/fontawesomeicons.json @@ -1 +1 @@ -[{"name":"core:docs","icon":"fa-info-circle","standardicon":"\"core:docs\""},{"name":"core:book","icon":"fa-book","standardicon":"\"core:book\""},{"name":"core:help","icon":"fa-question-circle text-info","standardicon":"\"core:help\""},{"name":"core:req","icon":"fa-exclamation-circle text-danger","standardicon":"\"core:req\""},{"name":"core:a\/add_file","icon":"fa-file-o","standardicon":"\"core:a\/add_file\""},{"name":"core:a\/create_folder","icon":"fa-folder-o","standardicon":"\"core:a\/create_folder\""},{"name":"core:a\/download_all","icon":"fa-download","standardicon":"\"core:a\/download_all\""},{"name":"core:a\/help","icon":"fa-question-circle text-info","standardicon":"\"core:a\/help\""},{"name":"core:a\/logout","icon":"fa-sign-out","standardicon":"\"core:a\/logout\""},{"name":"core:a\/refresh","icon":"fa-refresh","standardicon":"\"core:a\/refresh\""},{"name":"core:a\/search","icon":"fa-search","standardicon":"\"core:a\/search\""},{"name":"core:a\/setting","icon":"fa-cog","standardicon":"\"core:a\/setting\""},{"name":"core:a\/view_icon_active","icon":"fa-th","standardicon":"\"core:a\/view_icon_active\""},{"name":"core:a\/view_list_active","icon":"fa-list","standardicon":"\"core:a\/view_list_active\""},{"name":"core:a\/view_tree_active","icon":"fa-folder","standardicon":"\"core:a\/view_tree_active\""},{"name":"core:b\/bookmark-new","icon":"fa-bookmark","standardicon":"\"core:b\/bookmark-new\""},{"name":"core:b\/document-edit","icon":"fa-pencil","standardicon":"\"core:b\/document-edit\""},{"name":"core:b\/document-new","icon":"fa-file-o","standardicon":"\"core:b\/document-new\""},{"name":"core:b\/document-properties","icon":"fa-info","standardicon":"\"core:b\/document-properties\""},{"name":"core:b\/edit-copy","icon":"fa-files-o","standardicon":"\"core:b\/edit-copy\""},{"name":"core:b\/edit-delete","icon":"fa-trash","standardicon":"\"core:b\/edit-delete\""},{"name":"core:e\/abbr","icon":"fa-comment","standardicon":"\"core:e\/abbr\""},{"name":"core:e\/absolute","icon":"fa-crosshairs","standardicon":"\"core:e\/absolute\""},{"name":"core:e\/accessibility_checker","icon":"fa-universal-access","standardicon":"\"core:e\/accessibility_checker\""},{"name":"core:e\/acronym","icon":"fa-comment","standardicon":"\"core:e\/acronym\""},{"name":"core:e\/advance_hr","icon":"fa-arrows-h","standardicon":"\"core:e\/advance_hr\""},{"name":"core:e\/align_center","icon":"fa-align-center","standardicon":"\"core:e\/align_center\""},{"name":"core:e\/align_left","icon":"fa-align-left","standardicon":"\"core:e\/align_left\""},{"name":"core:e\/align_right","icon":"fa-align-right","standardicon":"\"core:e\/align_right\""},{"name":"core:e\/anchor","icon":"fa-chain","standardicon":"\"core:e\/anchor\""},{"name":"core:e\/backward","icon":"fa-undo","standardicon":"\"core:e\/backward\""},{"name":"core:e\/bold","icon":"fa-bold","standardicon":"\"core:e\/bold\""},{"name":"core:e\/bullet_list","icon":"fa-list-ul","standardicon":"\"core:e\/bullet_list\""},{"name":"core:e\/cancel","icon":"fa-times","standardicon":"\"core:e\/cancel\""},{"name":"core:e\/cancel_solid_circle","icon":"fas fa-times-circle","standardicon":"\"core:e\/cancel_solid_circle\""},{"name":"core:e\/cell_props","icon":"fa-info","standardicon":"\"core:e\/cell_props\""},{"name":"core:e\/cite","icon":"fa-quote-right","standardicon":"\"core:e\/cite\""},{"name":"core:e\/cleanup_messy_code","icon":"fa-eraser","standardicon":"\"core:e\/cleanup_messy_code\""},{"name":"core:e\/clear_formatting","icon":"fa-i-cursor","standardicon":"\"core:e\/clear_formatting\""},{"name":"core:e\/copy","icon":"fa-clone","standardicon":"\"core:e\/copy\""},{"name":"core:e\/cut","icon":"fa-scissors","standardicon":"\"core:e\/cut\""},{"name":"core:e\/decrease_indent","icon":"fa-outdent","standardicon":"\"core:e\/decrease_indent\""},{"name":"core:e\/delete_col","icon":"fa-minus","standardicon":"\"core:e\/delete_col\""},{"name":"core:e\/delete_row","icon":"fa-minus","standardicon":"\"core:e\/delete_row\""},{"name":"core:e\/delete","icon":"fa-minus","standardicon":"\"core:e\/delete\""},{"name":"core:e\/delete_table","icon":"fa-minus","standardicon":"\"core:e\/delete_table\""},{"name":"core:e\/document_properties","icon":"fa-info","standardicon":"\"core:e\/document_properties\""},{"name":"core:e\/emoticons","icon":"fa-smile-o","standardicon":"\"core:e\/emoticons\""},{"name":"core:e\/find_replace","icon":"fa-search-plus","standardicon":"\"core:e\/find_replace\""},{"name":"core:e\/file-text","icon":"fa-file-text","standardicon":"\"core:e\/file-text\""},{"name":"core:e\/forward","icon":"fa-arrow-right","standardicon":"\"core:e\/forward\""},{"name":"core:e\/fullpage","icon":"fa-arrows-alt","standardicon":"\"core:e\/fullpage\""},{"name":"core:e\/fullscreen","icon":"fa-arrows-alt","standardicon":"\"core:e\/fullscreen\""},{"name":"core:e\/help","icon":"fa-question-circle","standardicon":"\"core:e\/help\""},{"name":"core:e\/increase_indent","icon":"fa-indent","standardicon":"\"core:e\/increase_indent\""},{"name":"core:e\/insert_col_after","icon":"fa-columns","standardicon":"\"core:e\/insert_col_after\""},{"name":"core:e\/insert_col_before","icon":"fa-columns","standardicon":"\"core:e\/insert_col_before\""},{"name":"core:e\/insert_date","icon":"fa-calendar","standardicon":"\"core:e\/insert_date\""},{"name":"core:e\/insert_edit_image","icon":"fa-picture-o","standardicon":"\"core:e\/insert_edit_image\""},{"name":"core:e\/insert_edit_link","icon":"fa-link","standardicon":"\"core:e\/insert_edit_link\""},{"name":"core:e\/insert_edit_video","icon":"fa-file-video-o","standardicon":"\"core:e\/insert_edit_video\""},{"name":"core:e\/insert_file","icon":"fa-file","standardicon":"\"core:e\/insert_file\""},{"name":"core:e\/insert_horizontal_ruler","icon":"fa-arrows-h","standardicon":"\"core:e\/insert_horizontal_ruler\""},{"name":"core:e\/insert_nonbreaking_space","icon":"fa-square-o","standardicon":"\"core:e\/insert_nonbreaking_space\""},{"name":"core:e\/insert_page_break","icon":"fa-level-down","standardicon":"\"core:e\/insert_page_break\""},{"name":"core:e\/insert_row_after","icon":"fa-plus","standardicon":"\"core:e\/insert_row_after\""},{"name":"core:e\/insert_row_before","icon":"fa-plus","standardicon":"\"core:e\/insert_row_before\""},{"name":"core:e\/insert","icon":"fa-plus","standardicon":"\"core:e\/insert\""},{"name":"core:e\/insert_time","icon":"fa-clock-o","standardicon":"\"core:e\/insert_time\""},{"name":"core:e\/italic","icon":"fa-italic","standardicon":"\"core:e\/italic\""},{"name":"core:e\/justify","icon":"fa-align-justify","standardicon":"\"core:e\/justify\""},{"name":"core:e\/layers_over","icon":"fa-level-up","standardicon":"\"core:e\/layers_over\""},{"name":"core:e\/layers","icon":"fa-window-restore","standardicon":"\"core:e\/layers\""},{"name":"core:e\/layers_under","icon":"fa-level-down","standardicon":"\"core:e\/layers_under\""},{"name":"core:e\/left_to_right","icon":"fa-chevron-right","standardicon":"\"core:e\/left_to_right\""},{"name":"core:e\/manage_files","icon":"fa-files-o","standardicon":"\"core:e\/manage_files\""},{"name":"core:e\/math","icon":"fa-calculator","standardicon":"\"core:e\/math\""},{"name":"core:e\/merge_cells","icon":"fa-compress","standardicon":"\"core:e\/merge_cells\""},{"name":"core:e\/new_document","icon":"fa-file-o","standardicon":"\"core:e\/new_document\""},{"name":"core:e\/numbered_list","icon":"fa-list-ol","standardicon":"\"core:e\/numbered_list\""},{"name":"core:e\/page_break","icon":"fa-level-down","standardicon":"\"core:e\/page_break\""},{"name":"core:e\/paste","icon":"fa-clipboard","standardicon":"\"core:e\/paste\""},{"name":"core:e\/paste_text","icon":"fa-clipboard","standardicon":"\"core:e\/paste_text\""},{"name":"core:e\/paste_word","icon":"fa-clipboard","standardicon":"\"core:e\/paste_word\""},{"name":"core:e\/prevent_autolink","icon":"fa-exclamation","standardicon":"\"core:e\/prevent_autolink\""},{"name":"core:e\/preview","icon":"fa-search-plus","standardicon":"\"core:e\/preview\""},{"name":"core:e\/print","icon":"fa-print","standardicon":"\"core:e\/print\""},{"name":"core:e\/question","icon":"fa-question","standardicon":"\"core:e\/question\""},{"name":"core:e\/redo","icon":"fa-repeat","standardicon":"\"core:e\/redo\""},{"name":"core:e\/remove_link","icon":"fa-chain-broken","standardicon":"\"core:e\/remove_link\""},{"name":"core:e\/remove_page_break","icon":"fa-remove","standardicon":"\"core:e\/remove_page_break\""},{"name":"core:e\/resize","icon":"fa-expand","standardicon":"\"core:e\/resize\""},{"name":"core:e\/restore_draft","icon":"fa-undo","standardicon":"\"core:e\/restore_draft\""},{"name":"core:e\/restore_last_draft","icon":"fa-undo","standardicon":"\"core:e\/restore_last_draft\""},{"name":"core:e\/right_to_left","icon":"fa-chevron-left","standardicon":"\"core:e\/right_to_left\""},{"name":"core:e\/row_props","icon":"fa-info","standardicon":"\"core:e\/row_props\""},{"name":"core:e\/save","icon":"fa-floppy-o","standardicon":"\"core:e\/save\""},{"name":"core:e\/screenreader_helper","icon":"fa-braille","standardicon":"\"core:e\/screenreader_helper\""},{"name":"core:e\/search","icon":"fa-search","standardicon":"\"core:e\/search\""},{"name":"core:e\/select_all","icon":"fa-arrows-h","standardicon":"\"core:e\/select_all\""},{"name":"core:e\/show_invisible_characters","icon":"fa-eye-slash","standardicon":"\"core:e\/show_invisible_characters\""},{"name":"core:e\/source_code","icon":"fa-code","standardicon":"\"core:e\/source_code\""},{"name":"core:e\/special_character","icon":"fa-pencil-square-o","standardicon":"\"core:e\/special_character\""},{"name":"core:e\/spellcheck","icon":"fa-check","standardicon":"\"core:e\/spellcheck\""},{"name":"core:e\/split_cells","icon":"fa-columns","standardicon":"\"core:e\/split_cells\""},{"name":"core:e\/strikethrough","icon":"fa-strikethrough","standardicon":"\"core:e\/strikethrough\""},{"name":"core:e\/styleparagraph","icon":"fa-font","standardicon":"\"core:e\/styleparagraph\""},{"name":"core:e\/subscript","icon":"fa-subscript","standardicon":"\"core:e\/subscript\""},{"name":"core:e\/superscript","icon":"fa-superscript","standardicon":"\"core:e\/superscript\""},{"name":"core:e\/table_props","icon":"fa-table","standardicon":"\"core:e\/table_props\""},{"name":"core:e\/table","icon":"fa-table","standardicon":"\"core:e\/table\""},{"name":"core:e\/template","icon":"fa-sticky-note","standardicon":"\"core:e\/template\""},{"name":"core:e\/text_color_picker","icon":"fa-paint-brush","standardicon":"\"core:e\/text_color_picker\""},{"name":"core:e\/text_color","icon":"fa-paint-brush","standardicon":"\"core:e\/text_color\""},{"name":"core:e\/text_highlight_picker","icon":"fa-lightbulb-o","standardicon":"\"core:e\/text_highlight_picker\""},{"name":"core:e\/text_highlight","icon":"fa-lightbulb-o","standardicon":"\"core:e\/text_highlight\""},{"name":"core:e\/tick","icon":"fa-check","standardicon":"\"core:e\/tick\""},{"name":"core:e\/toggle_blockquote","icon":"fa-quote-left","standardicon":"\"core:e\/toggle_blockquote\""},{"name":"core:e\/underline","icon":"fa-underline","standardicon":"\"core:e\/underline\""},{"name":"core:e\/undo","icon":"fa-undo","standardicon":"\"core:e\/undo\""},{"name":"core:e\/visual_aid","icon":"fa-universal-access","standardicon":"\"core:e\/visual_aid\""},{"name":"core:e\/visual_blocks","icon":"fa-audio-description","standardicon":"\"core:e\/visual_blocks\""},{"name":"core:i\/addblock","icon":"fa-plus-square","standardicon":"\"core:i\/addblock\""},{"name":"core:i\/assignroles","icon":"fa-user-plus","standardicon":"\"core:i\/assignroles\""},{"name":"core:i\/backup","icon":"fa-file-zip-o","standardicon":"\"core:i\/backup\""},{"name":"core:i\/badge","icon":"fa-shield","standardicon":"\"core:i\/badge\""},{"name":"core:i\/breadcrumbdivider","icon":"fa-angle-right","standardicon":"\"core:i\/breadcrumbdivider\""},{"name":"core:i\/bullhorn","icon":"fa-bullhorn","standardicon":"\"core:i\/bullhorn\""},{"name":"core:i\/calc","icon":"fa-calculator","standardicon":"\"core:i\/calc\""},{"name":"core:i\/calendar","icon":"fa-calendar","standardicon":"\"core:i\/calendar\""},{"name":"core:i\/calendareventdescription","icon":"fa-align-left","standardicon":"\"core:i\/calendareventdescription\""},{"name":"core:i\/calendareventtime","icon":"fa-clock-o","standardicon":"\"core:i\/calendareventtime\""},{"name":"core:i\/caution","icon":"fa-exclamation text-warning","standardicon":"\"core:i\/caution\""},{"name":"core:i\/checked","icon":"fa-check","standardicon":"\"core:i\/checked\""},{"name":"core:i\/checkedcircle","icon":"fa-check-circle","standardicon":"\"core:i\/checkedcircle\""},{"name":"core:i\/checkpermissions","icon":"fa-unlock-alt","standardicon":"\"core:i\/checkpermissions\""},{"name":"core:i\/cohort","icon":"fa-users","standardicon":"\"core:i\/cohort\""},{"name":"core:i\/competencies","icon":"fa-check-square-o","standardicon":"\"core:i\/competencies\""},{"name":"core:i\/completion_self","icon":"fa-user-o","standardicon":"\"core:i\/completion_self\""},{"name":"core:i\/contentbank","icon":"fa-paint-brush","standardicon":"\"core:i\/contentbank\""},{"name":"core:i\/dashboard","icon":"fa-tachometer","standardicon":"\"core:i\/dashboard\""},{"name":"core:i\/categoryevent","icon":"fa-cubes","standardicon":"\"core:i\/categoryevent\""},{"name":"core:i\/course","icon":"fa-graduation-cap","standardicon":"\"core:i\/course\""},{"name":"core:i\/courseevent","icon":"fa-graduation-cap","standardicon":"\"core:i\/courseevent\""},{"name":"core:i\/customfield","icon":"fa-hand-o-right","standardicon":"\"core:i\/customfield\""},{"name":"core:i\/db","icon":"fa-database","standardicon":"\"core:i\/db\""},{"name":"core:i\/delete","icon":"fa-trash","standardicon":"\"core:i\/delete\""},{"name":"core:i\/down","icon":"fa-arrow-down","standardicon":"\"core:i\/down\""},{"name":"core:i\/dragdrop","icon":"fa-arrows","standardicon":"\"core:i\/dragdrop\""},{"name":"core:i\/duration","icon":"fa-clock-o","standardicon":"\"core:i\/duration\""},{"name":"core:i\/emojicategoryactivities","icon":"fa-futbol-o","standardicon":"\"core:i\/emojicategoryactivities\""},{"name":"core:i\/emojicategoryanimalsnature","icon":"fa-leaf","standardicon":"\"core:i\/emojicategoryanimalsnature\""},{"name":"core:i\/emojicategoryflags","icon":"fa-flag","standardicon":"\"core:i\/emojicategoryflags\""},{"name":"core:i\/emojicategoryfooddrink","icon":"fa-cutlery","standardicon":"\"core:i\/emojicategoryfooddrink\""},{"name":"core:i\/emojicategoryobjects","icon":"fa-lightbulb-o","standardicon":"\"core:i\/emojicategoryobjects\""},{"name":"core:i\/emojicategorypeoplebody","icon":"fa-male","standardicon":"\"core:i\/emojicategorypeoplebody\""},{"name":"core:i\/emojicategoryrecent","icon":"fa-clock-o","standardicon":"\"core:i\/emojicategoryrecent\""},{"name":"core:i\/emojicategorysmileysemotion","icon":"fa-smile-o","standardicon":"\"core:i\/emojicategorysmileysemotion\""},{"name":"core:i\/emojicategorysymbols","icon":"fa-heart","standardicon":"\"core:i\/emojicategorysymbols\""},{"name":"core:i\/emojicategorytravelplaces","icon":"fa-plane","standardicon":"\"core:i\/emojicategorytravelplaces\""},{"name":"core:i\/edit","icon":"fa-pencil","standardicon":"\"core:i\/edit\""},{"name":"core:i\/email","icon":"fa-envelope","standardicon":"\"core:i\/email\""},{"name":"core:i\/empty","icon":"fa-fw","standardicon":"\"core:i\/empty\""},{"name":"core:i\/enrolmentsuspended","icon":"fa-pause","standardicon":"\"core:i\/enrolmentsuspended\""},{"name":"core:i\/enrolusers","icon":"fa-user-plus","standardicon":"\"core:i\/enrolusers\""},{"name":"core:i\/excluded","icon":"fa-minus-circle","standardicon":"\"core:i\/excluded\""},{"name":"core:i\/expired","icon":"fa-exclamation text-warning","standardicon":"\"core:i\/expired\""},{"name":"core:i\/export","icon":"fa-download","standardicon":"\"core:i\/export\""},{"name":"core:i\/link","icon":"fa-link","standardicon":"\"core:i\/link\""},{"name":"core:i\/externallink","icon":"fa-external-link","standardicon":"\"core:i\/externallink\""},{"name":"core:i\/files","icon":"fa-file","standardicon":"\"core:i\/files\""},{"name":"core:i\/filter","icon":"fa-filter","standardicon":"\"core:i\/filter\""},{"name":"core:i\/flagged","icon":"fa-flag","standardicon":"\"core:i\/flagged\""},{"name":"core:i\/folder","icon":"fa-folder","standardicon":"\"core:i\/folder\""},{"name":"core:i\/grade_correct","icon":"fa-check text-success","standardicon":"\"core:i\/grade_correct\""},{"name":"core:i\/grade_incorrect","icon":"fa-remove text-danger","standardicon":"\"core:i\/grade_incorrect\""},{"name":"core:i\/grade_partiallycorrect","icon":"fa-check-square","standardicon":"\"core:i\/grade_partiallycorrect\""},{"name":"core:i\/grades","icon":"fa-table","standardicon":"\"core:i\/grades\""},{"name":"core:i\/grading","icon":"fa-magic","standardicon":"\"core:i\/grading\""},{"name":"core:i\/gradingnotifications","icon":"fa-bell-o","standardicon":"\"core:i\/gradingnotifications\""},{"name":"core:i\/groupevent","icon":"fa-group","standardicon":"\"core:i\/groupevent\""},{"name":"core:i\/groupn","icon":"fa-user","standardicon":"\"core:i\/groupn\""},{"name":"core:i\/group","icon":"fa-users","standardicon":"\"core:i\/group\""},{"name":"core:i\/groups","icon":"fa-user-circle","standardicon":"\"core:i\/groups\""},{"name":"core:i\/groupv","icon":"fa-user-circle-o","standardicon":"\"core:i\/groupv\""},{"name":"core:i\/home","icon":"fa-home","standardicon":"\"core:i\/home\""},{"name":"core:i\/hide","icon":"fa-eye","standardicon":"\"core:i\/hide\""},{"name":"core:i\/hierarchylock","icon":"fa-lock","standardicon":"\"core:i\/hierarchylock\""},{"name":"core:i\/import","icon":"fa-level-up","standardicon":"\"core:i\/import\""},{"name":"core:i\/incorrect","icon":"fa-exclamation","standardicon":"\"core:i\/incorrect\""},{"name":"core:i\/info","icon":"fa-info","standardicon":"\"core:i\/info\""},{"name":"core:i\/invalid","icon":"fa-times text-danger","standardicon":"\"core:i\/invalid\""},{"name":"core:i\/item","icon":"fa-circle","standardicon":"\"core:i\/item\""},{"name":"core:i\/loading","icon":"fa-circle-o-notch fa-spin","standardicon":"\"core:i\/loading\""},{"name":"core:i\/loading_small","icon":"fa-circle-o-notch fa-spin","standardicon":"\"core:i\/loading_small\""},{"name":"core:i\/location","icon":"fa-map-marker","standardicon":"\"core:i\/location\""},{"name":"core:i\/lock","icon":"fa-lock","standardicon":"\"core:i\/lock\""},{"name":"core:i\/log","icon":"fa-list-alt","standardicon":"\"core:i\/log\""},{"name":"core:i\/mahara_host","icon":"fa-id-badge","standardicon":"\"core:i\/mahara_host\""},{"name":"core:i\/manual_item","icon":"fa-square-o","standardicon":"\"core:i\/manual_item\""},{"name":"core:i\/marked","icon":"fa-circle","standardicon":"\"core:i\/marked\""},{"name":"core:i\/marker","icon":"fa-circle-o","standardicon":"\"core:i\/marker\""},{"name":"core:i\/mean","icon":"fa-calculator","standardicon":"\"core:i\/mean\""},{"name":"core:i\/menu","icon":"fa-ellipsis-v","standardicon":"\"core:i\/menu\""},{"name":"core:i\/menubars","icon":"fa-bars","standardicon":"\"core:i\/menubars\""},{"name":"core:i\/messagecontentaudio","icon":"fa-headphones","standardicon":"\"core:i\/messagecontentaudio\""},{"name":"core:i\/messagecontentimage","icon":"fa-image","standardicon":"\"core:i\/messagecontentimage\""},{"name":"core:i\/messagecontentvideo","icon":"fa-film","standardicon":"\"core:i\/messagecontentvideo\""},{"name":"core:i\/messagecontentmultimediageneral","icon":"fa-file-video-o","standardicon":"\"core:i\/messagecontentmultimediageneral\""},{"name":"core:i\/mnethost","icon":"fa-external-link","standardicon":"\"core:i\/mnethost\""},{"name":"core:i\/moodle_host","icon":"fa-graduation-cap","standardicon":"\"core:i\/moodle_host\""},{"name":"core:i\/moremenu","icon":"fa-ellipsis-h","standardicon":"\"core:i\/moremenu\""},{"name":"core:i\/move_2d","icon":"fa-arrows","standardicon":"\"core:i\/move_2d\""},{"name":"core:i\/muted","icon":"fa-microphone-slash","standardicon":"\"core:i\/muted\""},{"name":"core:i\/navigationitem","icon":"fa-fw","standardicon":"\"core:i\/navigationitem\""},{"name":"core:i\/ne_red_mark","icon":"fa-remove","standardicon":"\"core:i\/ne_red_mark\""},{"name":"core:i\/new","icon":"fa-bolt","standardicon":"\"core:i\/new\""},{"name":"core:i\/news","icon":"fa-newspaper-o","standardicon":"\"core:i\/news\""},{"name":"core:i\/next","icon":"fa-chevron-right","standardicon":"\"core:i\/next\""},{"name":"core:i\/nosubcat","icon":"fa-plus-square-o","standardicon":"\"core:i\/nosubcat\""},{"name":"core:i\/notifications","icon":"fa-bell-o","standardicon":"\"core:i\/notifications\""},{"name":"core:i\/open","icon":"fa-folder-open","standardicon":"\"core:i\/open\""},{"name":"core:i\/otherevent","icon":"fa-calendar","standardicon":"\"core:i\/otherevent\""},{"name":"core:i\/outcomes","icon":"fa-tasks","standardicon":"\"core:i\/outcomes\""},{"name":"core:i\/overriden_grade","icon":"fa-edit","standardicon":"\"core:i\/overriden_grade\""},{"name":"core:i\/payment","icon":"fa-money","standardicon":"\"core:i\/payment\""},{"name":"core:i\/permissionlock","icon":"fa-lock","standardicon":"\"core:i\/permissionlock\""},{"name":"core:i\/permissions","icon":"fa-pencil-square-o","standardicon":"\"core:i\/permissions\""},{"name":"core:i\/persona_sign_in_black","icon":"fa-male","standardicon":"\"core:i\/persona_sign_in_black\""},{"name":"core:i\/portfolio","icon":"fa-id-badge","standardicon":"\"core:i\/portfolio\""},{"name":"core:i\/preview","icon":"fa-search-plus","standardicon":"\"core:i\/preview\""},{"name":"core:i\/previous","icon":"fa-chevron-left","standardicon":"\"core:i\/previous\""},{"name":"core:i\/privatefiles","icon":"fa-file-o","standardicon":"\"core:i\/privatefiles\""},{"name":"core:i\/progressbar","icon":"fa-spinner fa-spin","standardicon":"\"core:i\/progressbar\""},{"name":"core:i\/publish","icon":"fa-share","standardicon":"\"core:i\/publish\""},{"name":"core:i\/questions","icon":"fa-question","standardicon":"\"core:i\/questions\""},{"name":"core:i\/reload","icon":"fa-refresh","standardicon":"\"core:i\/reload\""},{"name":"core:i\/report","icon":"fa-area-chart","standardicon":"\"core:i\/report\""},{"name":"core:i\/repository","icon":"fa-hdd-o","standardicon":"\"core:i\/repository\""},{"name":"core:i\/restore","icon":"fa-level-up","standardicon":"\"core:i\/restore\""},{"name":"core:i\/return","icon":"fa-arrow-left","standardicon":"\"core:i\/return\""},{"name":"core:i\/risk_config","icon":"fa-exclamation text-muted","standardicon":"\"core:i\/risk_config\""},{"name":"core:i\/risk_managetrust","icon":"fa-exclamation-triangle text-warning","standardicon":"\"core:i\/risk_managetrust\""},{"name":"core:i\/risk_personal","icon":"fa-exclamation-circle text-info","standardicon":"\"core:i\/risk_personal\""},{"name":"core:i\/risk_spam","icon":"fa-exclamation text-primary","standardicon":"\"core:i\/risk_spam\""},{"name":"core:i\/risk_xss","icon":"fa-exclamation-triangle text-danger","standardicon":"\"core:i\/risk_xss\""},{"name":"core:i\/role","icon":"fa-user-md","standardicon":"\"core:i\/role\""},{"name":"core:i\/rss","icon":"fa-rss","standardicon":"\"core:i\/rss\""},{"name":"core:i\/rsssitelogo","icon":"fa-graduation-cap","standardicon":"\"core:i\/rsssitelogo\""},{"name":"core:i\/scales","icon":"fa-balance-scale","standardicon":"\"core:i\/scales\""},{"name":"core:i\/scheduled","icon":"fa-calendar-check-o","standardicon":"\"core:i\/scheduled\""},{"name":"core:i\/search","icon":"fa-search","standardicon":"\"core:i\/search\""},{"name":"core:i\/section","icon":"fa-folder-o","standardicon":"\"core:i\/section\""},{"name":"core:i\/sendmessage","icon":"fa-paper-plane","standardicon":"\"core:i\/sendmessage\""},{"name":"core:i\/settings","icon":"fa-cog","standardicon":"\"core:i\/settings\""},{"name":"core:i\/show","icon":"fa-eye-slash","standardicon":"\"core:i\/show\""},{"name":"core:i\/siteevent","icon":"fa-globe","standardicon":"\"core:i\/siteevent\""},{"name":"core:i\/star","icon":"fa-star","standardicon":"\"core:i\/star\""},{"name":"core:i\/star-o","icon":"fa-star-o","standardicon":"\"core:i\/star-o\""},{"name":"core:i\/star-rating","icon":"fa-star","standardicon":"\"core:i\/star-rating\""},{"name":"core:i\/stats","icon":"fa-line-chart","standardicon":"\"core:i\/stats\""},{"name":"core:i\/switch","icon":"fa-exchange","standardicon":"\"core:i\/switch\""},{"name":"core:i\/switchrole","icon":"fa-user-secret","standardicon":"\"core:i\/switchrole\""},{"name":"core:i\/trash","icon":"fa-trash","standardicon":"\"core:i\/trash\""},{"name":"core:i\/twoway","icon":"fa-arrows-h","standardicon":"\"core:i\/twoway\""},{"name":"core:i\/unchecked","icon":"fa-square-o","standardicon":"\"core:i\/unchecked\""},{"name":"core:i\/uncheckedcircle","icon":"fa-circle-o","standardicon":"\"core:i\/uncheckedcircle\""},{"name":"core:i\/unflagged","icon":"fa-flag-o","standardicon":"\"core:i\/unflagged\""},{"name":"core:i\/unlock","icon":"fa-unlock","standardicon":"\"core:i\/unlock\""},{"name":"core:i\/up","icon":"fa-arrow-up","standardicon":"\"core:i\/up\""},{"name":"core:i\/upload","icon":"fa-upload","standardicon":"\"core:i\/upload\""},{"name":"core:i\/userevent","icon":"fa-user","standardicon":"\"core:i\/userevent\""},{"name":"core:i\/user","icon":"fa-user","standardicon":"\"core:i\/user\""},{"name":"core:i\/users","icon":"fa-users","standardicon":"\"core:i\/users\""},{"name":"core:i\/valid","icon":"fa-check text-success","standardicon":"\"core:i\/valid\""},{"name":"core:i\/warning","icon":"fa-exclamation text-warning","standardicon":"\"core:i\/warning\""},{"name":"core:i\/window_close","icon":"fa-window-close","standardicon":"\"core:i\/window_close\""},{"name":"core:i\/withsubcat","icon":"fa-plus-square","standardicon":"\"core:i\/withsubcat\""},{"name":"core:i\/language","icon":"fa-language","standardicon":"\"core:i\/language\""},{"name":"core:m\/USD","icon":"fa-usd","standardicon":"\"core:m\/USD\""},{"name":"core:t\/addcontact","icon":"fa-address-card","standardicon":"\"core:t\/addcontact\""},{"name":"core:t\/add","icon":"fa-plus","standardicon":"\"core:t\/add\""},{"name":"core:t\/approve","icon":"fa-thumbs-up","standardicon":"\"core:t\/approve\""},{"name":"core:t\/assignroles","icon":"fa-user-circle","standardicon":"\"core:t\/assignroles\""},{"name":"core:t\/award","icon":"fa-trophy","standardicon":"\"core:t\/award\""},{"name":"core:t\/backpack","icon":"fa-shopping-bag","standardicon":"\"core:t\/backpack\""},{"name":"core:t\/backup","icon":"fa-arrow-circle-down","standardicon":"\"core:t\/backup\""},{"name":"core:t\/block","icon":"fa-ban","standardicon":"\"core:t\/block\""},{"name":"core:t\/block_to_dock_rtl","icon":"fa-chevron-right","standardicon":"\"core:t\/block_to_dock_rtl\""},{"name":"core:t\/block_to_dock","icon":"fa-chevron-left","standardicon":"\"core:t\/block_to_dock\""},{"name":"core:t\/blocks_drawer","icon":"fa-chevron-left","standardicon":"\"core:t\/blocks_drawer\""},{"name":"core:t\/blocks_drawer_rtl","icon":"fa-chevron-right","standardicon":"\"core:t\/blocks_drawer_rtl\""},{"name":"core:t\/calc_off","icon":"fa-calculator","standardicon":"\"core:t\/calc_off\""},{"name":"core:t\/calc","icon":"fa-calculator","standardicon":"\"core:t\/calc\""},{"name":"core:t\/check","icon":"fa-check","standardicon":"\"core:t\/check\""},{"name":"core:t\/clipboard","icon":"fa-clipboard","standardicon":"\"core:t\/clipboard\""},{"name":"core:t\/cohort","icon":"fa-users","standardicon":"\"core:t\/cohort\""},{"name":"core:t\/collapsed_empty_rtl","icon":"fa-caret-square-o-left","standardicon":"\"core:t\/collapsed_empty_rtl\""},{"name":"core:t\/collapsed_empty","icon":"fa-caret-square-o-right","standardicon":"\"core:t\/collapsed_empty\""},{"name":"core:t\/collapsed_rtl","icon":"fa-caret-left","standardicon":"\"core:t\/collapsed_rtl\""},{"name":"core:t\/collapsed","icon":"fa-caret-right","standardicon":"\"core:t\/collapsed\""},{"name":"core:t\/collapsedcaret","icon":"fa-caret-right","standardicon":"\"core:t\/collapsedcaret\""},{"name":"core:t\/collapsedchevron","icon":"fa-chevron-right","standardicon":"\"core:t\/collapsedchevron\""},{"name":"core:t\/collapsedchevron_rtl","icon":"fa-chevron-left","standardicon":"\"core:t\/collapsedchevron_rtl\""},{"name":"core:t\/completion_complete","icon":"fa-circle","standardicon":"\"core:t\/completion_complete\""},{"name":"core:t\/completion_fail","icon":"fa-times","standardicon":"\"core:t\/completion_fail\""},{"name":"core:t\/completion_incomplete","icon":"fa-circle-thin","standardicon":"\"core:t\/completion_incomplete\""},{"name":"core:t\/contextmenu","icon":"fa-cog","standardicon":"\"core:t\/contextmenu\""},{"name":"core:t\/copy","icon":"fa-copy","standardicon":"\"core:t\/copy\""},{"name":"core:t\/delete","icon":"fa-trash","standardicon":"\"core:t\/delete\""},{"name":"core:t\/dockclose","icon":"fa-window-close","standardicon":"\"core:t\/dockclose\""},{"name":"core:t\/dock_to_block_rtl","icon":"fa-chevron-right","standardicon":"\"core:t\/dock_to_block_rtl\""},{"name":"core:t\/dock_to_block","icon":"fa-chevron-left","standardicon":"\"core:t\/dock_to_block\""},{"name":"core:t\/download","icon":"fa-download","standardicon":"\"core:t\/download\""},{"name":"core:t\/down","icon":"fa-arrow-down","standardicon":"\"core:t\/down\""},{"name":"core:t\/downlong","icon":"fa-long-arrow-down","standardicon":"\"core:t\/downlong\""},{"name":"core:t\/dropdown","icon":"fa-cog","standardicon":"\"core:t\/dropdown\""},{"name":"core:t\/editinline","icon":"fa-pencil","standardicon":"\"core:t\/editinline\""},{"name":"core:t\/edit_menu","icon":"fa-cog","standardicon":"\"core:t\/edit_menu\""},{"name":"core:t\/editstring","icon":"fa-pencil","standardicon":"\"core:t\/editstring\""},{"name":"core:t\/edit","icon":"fa-cog","standardicon":"\"core:t\/edit\""},{"name":"core:t\/emailno","icon":"fa-ban","standardicon":"\"core:t\/emailno\""},{"name":"core:t\/email","icon":"fa-envelope-o","standardicon":"\"core:t\/email\""},{"name":"core:t\/emptystar","icon":"fa-star-o","standardicon":"\"core:t\/emptystar\""},{"name":"core:t\/enrolusers","icon":"fa-user-plus","standardicon":"\"core:t\/enrolusers\""},{"name":"core:t\/expanded","icon":"fa-caret-down","standardicon":"\"core:t\/expanded\""},{"name":"core:t\/expandedchevron","icon":"fa-chevron-down","standardicon":"\"core:t\/expandedchevron\""},{"name":"core:t\/go","icon":"fa-play","standardicon":"\"core:t\/go\""},{"name":"core:t\/grades","icon":"fa-table","standardicon":"\"core:t\/grades\""},{"name":"core:t\/groupn","icon":"fa-user","standardicon":"\"core:t\/groupn\""},{"name":"core:t\/groups","icon":"fa-user-circle","standardicon":"\"core:t\/groups\""},{"name":"core:t\/groupv","icon":"fa-user-circle-o","standardicon":"\"core:t\/groupv\""},{"name":"core:t\/hide","icon":"fa-eye","standardicon":"\"core:t\/hide\""},{"name":"core:t\/index_drawer","icon":"fa-list","standardicon":"\"core:t\/index_drawer\""},{"name":"core:t\/left","icon":"fa-arrow-left","standardicon":"\"core:t\/left\""},{"name":"core:t\/less","icon":"fa-caret-up","standardicon":"\"core:t\/less\""},{"name":"core:t\/life-ring","icon":"fa-life-ring","standardicon":"\"core:t\/life-ring\""},{"name":"core:t\/locked","icon":"fa-lock","standardicon":"\"core:t\/locked\""},{"name":"core:t\/lock","icon":"fa-unlock","standardicon":"\"core:t\/lock\""},{"name":"core:t\/locktime","icon":"fa-lock","standardicon":"\"core:t\/locktime\""},{"name":"core:t\/markasread","icon":"fa-check","standardicon":"\"core:t\/markasread\""},{"name":"core:t\/messages","icon":"fa-comments","standardicon":"\"core:t\/messages\""},{"name":"core:t\/message","icon":"fa-comment-o","standardicon":"\"core:t\/message\""},{"name":"core:t\/more","icon":"fa-caret-down","standardicon":"\"core:t\/more\""},{"name":"core:t\/move","icon":"fa-arrows-v","standardicon":"\"core:t\/move\""},{"name":"core:t\/online","icon":"fa-circle","standardicon":"\"core:t\/online\""},{"name":"core:t\/passwordunmask-edit","icon":"fa-pencil","standardicon":"\"core:t\/passwordunmask-edit\""},{"name":"core:t\/passwordunmask-reveal","icon":"fa-eye","standardicon":"\"core:t\/passwordunmask-reveal\""},{"name":"core:t\/play","icon":"fa-play","standardicon":"\"core:t\/play\""},{"name":"core:t\/portfolioadd","icon":"fa-plus","standardicon":"\"core:t\/portfolioadd\""},{"name":"core:t\/preferences","icon":"fa-wrench","standardicon":"\"core:t\/preferences\""},{"name":"core:t\/preview","icon":"fa-search-plus","standardicon":"\"core:t\/preview\""},{"name":"core:t\/print","icon":"fa-print","standardicon":"\"core:t\/print\""},{"name":"core:t\/removecontact","icon":"fa-user-times","standardicon":"\"core:t\/removecontact\""},{"name":"core:t\/reload","icon":"fa-refresh","standardicon":"\"core:t\/reload\""},{"name":"core:t\/reset","icon":"fa-repeat","standardicon":"\"core:t\/reset\""},{"name":"core:t\/restore","icon":"fa-arrow-circle-up","standardicon":"\"core:t\/restore\""},{"name":"core:t\/right","icon":"fa-arrow-right","standardicon":"\"core:t\/right\""},{"name":"core:t\/sendmessage","icon":"fa-paper-plane","standardicon":"\"core:t\/sendmessage\""},{"name":"core:t\/show","icon":"fa-eye-slash","standardicon":"\"core:t\/show\""},{"name":"core:t\/sort_by","icon":"fa-sort-amount-asc","standardicon":"\"core:t\/sort_by\""},{"name":"core:t\/sort_asc","icon":"fa-sort-asc","standardicon":"\"core:t\/sort_asc\""},{"name":"core:t\/sort_desc","icon":"fa-sort-desc","standardicon":"\"core:t\/sort_desc\""},{"name":"core:t\/sort","icon":"fa-sort","standardicon":"\"core:t\/sort\""},{"name":"core:t\/stealth","icon":"fa-low-vision","standardicon":"\"core:t\/stealth\""},{"name":"core:t\/stop","icon":"fa-stop","standardicon":"\"core:t\/stop\""},{"name":"core:t\/switch_minus","icon":"fa-minus","standardicon":"\"core:t\/switch_minus\""},{"name":"core:t\/switch_plus","icon":"fa-plus","standardicon":"\"core:t\/switch_plus\""},{"name":"core:t\/switch_whole","icon":"fa-square-o","standardicon":"\"core:t\/switch_whole\""},{"name":"core:t\/tags","icon":"fa-tags","standardicon":"\"core:t\/tags\""},{"name":"core:t\/unblock","icon":"fa-commenting","standardicon":"\"core:t\/unblock\""},{"name":"core:t\/unlocked","icon":"fa-unlock-alt","standardicon":"\"core:t\/unlocked\""},{"name":"core:t\/unlock","icon":"fa-lock","standardicon":"\"core:t\/unlock\""},{"name":"core:t\/up","icon":"fa-arrow-up","standardicon":"\"core:t\/up\""},{"name":"core:t\/uplong","icon":"fa-long-arrow-up","standardicon":"\"core:t\/uplong\""},{"name":"core:t\/user","icon":"fa-user","standardicon":"\"core:t\/user\""},{"name":"core:t\/viewdetails","icon":"fa-list","standardicon":"\"core:t\/viewdetails\""},{"name":"qtype_ddmarker:crosshairs","icon":"fa-crosshairs","standardicon":"\"qtype_ddmarker:crosshairs\""},{"name":"qtype_ddmarker:grid","icon":"fa-th","standardicon":"\"qtype_ddmarker:grid\""},{"name":"mod_book:chapter","icon":"fa-bookmark-o","standardicon":"\"mod_book:chapter\""},{"name":"mod_book:nav_prev","icon":"fa-arrow-left","standardicon":"\"mod_book:nav_prev\""},{"name":"mod_book:nav_sep","icon":"fa-minus","standardicon":"\"mod_book:nav_sep\""},{"name":"mod_book:add","icon":"fa-plus","standardicon":"\"mod_book:add\""},{"name":"mod_book:nav_next","icon":"fa-arrow-right","standardicon":"\"mod_book:nav_next\""},{"name":"mod_book:nav_exit","icon":"fa-arrow-up","standardicon":"\"mod_book:nav_exit\""},{"name":"mod_choice:row","icon":"fa-info","standardicon":"\"mod_choice:row\""},{"name":"mod_choice:column","icon":"fa-columns","standardicon":"\"mod_choice:column\""},{"name":"mod_data:field\/checkbox","icon":"fa-check-square-o","standardicon":"\"mod_data:field\/checkbox\""},{"name":"mod_data:field\/date","icon":"fa-calendar-o","standardicon":"\"mod_data:field\/date\""},{"name":"mod_data:field\/file","icon":"fa-file","standardicon":"\"mod_data:field\/file\""},{"name":"mod_data:field\/latlong","icon":"fa-globe","standardicon":"\"mod_data:field\/latlong\""},{"name":"mod_data:field\/menu","icon":"fa-bars","standardicon":"\"mod_data:field\/menu\""},{"name":"mod_data:field\/multimenu","icon":"fa-bars","standardicon":"\"mod_data:field\/multimenu\""},{"name":"mod_data:field\/number","icon":"fa-hashtag","standardicon":"\"mod_data:field\/number\""},{"name":"mod_data:field\/picture","icon":"fa-picture-o","standardicon":"\"mod_data:field\/picture\""},{"name":"mod_data:field\/radiobutton","icon":"fa-circle-o","standardicon":"\"mod_data:field\/radiobutton\""},{"name":"mod_data:field\/textarea","icon":"fa-font","standardicon":"\"mod_data:field\/textarea\""},{"name":"mod_data:field\/text","icon":"fa-i-cursor","standardicon":"\"mod_data:field\/text\""},{"name":"mod_data:field\/url","icon":"fa-link","standardicon":"\"mod_data:field\/url\""},{"name":"mod_feedback:required","icon":"fa-exclamation-circle","standardicon":"\"mod_feedback:required\""},{"name":"mod_feedback:notrequired","icon":"fa-question-circle-o","standardicon":"\"mod_feedback:notrequired\""},{"name":"mod_forum:i\/pinned","icon":"fa-map-pin","standardicon":"\"mod_forum:i\/pinned\""},{"name":"mod_forum:t\/selected","icon":"fa-check","standardicon":"\"mod_forum:t\/selected\""},{"name":"mod_forum:t\/subscribed","icon":"fa-envelope-o","standardicon":"\"mod_forum:t\/subscribed\""},{"name":"mod_forum:t\/unsubscribed","icon":"fa-envelope-open-o","standardicon":"\"mod_forum:t\/unsubscribed\""},{"name":"mod_forum:t\/star","icon":"fa-star","standardicon":"\"mod_forum:t\/star\""},{"name":"mod_glossary:export","icon":"fa-download","standardicon":"\"mod_glossary:export\""},{"name":"mod_glossary:minus","icon":"fa-minus","standardicon":"\"mod_glossary:minus\""},{"name":"mod_lesson:e\/copy","icon":"fa-clone","standardicon":"\"mod_lesson:e\/copy\""},{"name":"mod_lti:warning","icon":"fa-exclamation text-warning","standardicon":"\"mod_lti:warning\""},{"name":"mod_quiz:navflagged","icon":"fa-flag","standardicon":"\"mod_quiz:navflagged\""},{"name":"mod_scorm:assetc","icon":"fa-file-archive-o","standardicon":"\"mod_scorm:assetc\""},{"name":"mod_scorm:asset","icon":"fa-file-archive-o","standardicon":"\"mod_scorm:asset\""},{"name":"mod_scorm:browsed","icon":"fa-book","standardicon":"\"mod_scorm:browsed\""},{"name":"mod_scorm:completed","icon":"fa-check-square-o","standardicon":"\"mod_scorm:completed\""},{"name":"mod_scorm:failed","icon":"fa-times","standardicon":"\"mod_scorm:failed\""},{"name":"mod_scorm:incomplete","icon":"fa-pencil-square-o","standardicon":"\"mod_scorm:incomplete\""},{"name":"mod_scorm:minus","icon":"fa-minus","standardicon":"\"mod_scorm:minus\""},{"name":"mod_scorm:notattempted","icon":"fa-square-o","standardicon":"\"mod_scorm:notattempted\""},{"name":"mod_scorm:passed","icon":"fa-check","standardicon":"\"mod_scorm:passed\""},{"name":"mod_scorm:plus","icon":"fa-plus","standardicon":"\"mod_scorm:plus\""},{"name":"mod_scorm:popdown","icon":"fa-window-close-o","standardicon":"\"mod_scorm:popdown\""},{"name":"mod_scorm:popup","icon":"fa-window-restore","standardicon":"\"mod_scorm:popup\""},{"name":"mod_scorm:suspend","icon":"fa-pause","standardicon":"\"mod_scorm:suspend\""},{"name":"mod_scorm:wait","icon":"fa-clock-o","standardicon":"\"mod_scorm:wait\""},{"name":"mod_wiki:attachment","icon":"fa-paperclip","standardicon":"\"mod_wiki:attachment\""},{"name":"mod_workshop:userplan\/task-info","icon":"fa-info text-info","standardicon":"\"mod_workshop:userplan\/task-info\""},{"name":"mod_workshop:userplan\/task-todo","icon":"fa-square-o","standardicon":"\"mod_workshop:userplan\/task-todo\""},{"name":"mod_workshop:userplan\/task-done","icon":"fa-check text-success","standardicon":"\"mod_workshop:userplan\/task-done\""},{"name":"mod_workshop:userplan\/task-fail","icon":"fa-remove text-danger","standardicon":"\"mod_workshop:userplan\/task-fail\""},{"name":"customfield_date:checked","icon":"fa-check-square-o","standardicon":"\"customfield_date:checked\""},{"name":"customfield_date:notchecked","icon":"fa-square-o","standardicon":"\"customfield_date:notchecked\""},{"name":"enrol_guest:withpassword","icon":"fa-key","standardicon":"\"enrol_guest:withpassword\""},{"name":"enrol_guest:withoutpassword","icon":"fa-unlock-alt","standardicon":"\"enrol_guest:withoutpassword\""},{"name":"enrol_lti:managedeployments","icon":"fa-sitemap","standardicon":"\"enrol_lti:managedeployments\""},{"name":"enrol_lti:platformdetails","icon":"fa-pencil-square-o","standardicon":"\"enrol_lti:platformdetails\""},{"name":"enrol_lti:enrolinstancewarning","icon":"fa-exclamation-circle text-danger","standardicon":"\"enrol_lti:enrolinstancewarning\""},{"name":"enrol_self:withkey","icon":"fa-key","standardicon":"\"enrol_self:withkey\""},{"name":"enrol_self:withoutkey","icon":"fa-sign-in","standardicon":"\"enrol_self:withoutkey\""},{"name":"block_accessreview:smile","icon":"fa-smile-o","standardicon":"\"block_accessreview:smile\""},{"name":"block_accessreview:frown","icon":"fa-frown-o","standardicon":"\"block_accessreview:frown\""},{"name":"block_accessreview:errorsfound","icon":"fa-ban","standardicon":"\"block_accessreview:errorsfound\""},{"name":"block_accessreview:f\/pdf","icon":"fa-file-pdf-o","standardicon":"\"block_accessreview:f\/pdf\""},{"name":"block_accessreview:f\/video","icon":"fa-file-video-o","standardicon":"\"block_accessreview:f\/video\""},{"name":"block_accessreview:f\/find","icon":"fa-bar-chart","standardicon":"\"block_accessreview:f\/find\""},{"name":"block_accessreview:f\/form","icon":"fa-pencil-square-o","standardicon":"\"block_accessreview:f\/form\""},{"name":"block_accessreview:f\/image","icon":"fa-image","standardicon":"\"block_accessreview:f\/image\""},{"name":"block_accessreview:f\/layout","icon":"fa-th-large","standardicon":"\"block_accessreview:f\/layout\""},{"name":"block_accessreview:f\/link","icon":"fa-link","standardicon":"\"block_accessreview:f\/link\""},{"name":"block_accessreview:f\/media","icon":"fa-play-circle-o","standardicon":"\"block_accessreview:f\/media\""},{"name":"block_accessreview:f\/table","icon":"fa-table","standardicon":"\"block_accessreview:f\/table\""},{"name":"block_accessreview:f\/text","icon":"fa-font","standardicon":"\"block_accessreview:f\/text\""},{"name":"block_accessreview:t\/fail","icon":"fa-ban","standardicon":"\"block_accessreview:t\/fail\""},{"name":"block_accessreview:t\/pass","icon":"fa-check","standardicon":"\"block_accessreview:t\/pass\""},{"name":"gradingform_guide:info","icon":"fa-info-circle","standardicon":"\"gradingform_guide:info\""},{"name":"gradingform_guide:plus","icon":"fa-plus","standardicon":"\"gradingform_guide:plus\""},{"name":"tool_brickfield:f\/award","icon":"fa-tachometer","standardicon":"\"tool_brickfield:f\/award\""},{"name":"tool_brickfield:f\/done","icon":"fa-check-circle-o","standardicon":"\"tool_brickfield:f\/done\""},{"name":"tool_brickfield:f\/done2","icon":"fa-check-square-o","standardicon":"\"tool_brickfield:f\/done2\""},{"name":"tool_brickfield:f\/error","icon":"fa-times-circle-o","standardicon":"\"tool_brickfield:f\/error\""},{"name":"tool_brickfield:f\/find","icon":"fa-bar-chart","standardicon":"\"tool_brickfield:f\/find\""},{"name":"tool_brickfield:f\/total","icon":"fa-calculator","standardicon":"\"tool_brickfield:f\/total\""},{"name":"tool_brickfield:f\/form","icon":"fa-pencil-square-o","standardicon":"\"tool_brickfield:f\/form\""},{"name":"tool_brickfield:f\/image","icon":"fa-image","standardicon":"\"tool_brickfield:f\/image\""},{"name":"tool_brickfield:f\/layout","icon":"fa-th-large","standardicon":"\"tool_brickfield:f\/layout\""},{"name":"tool_brickfield:f\/link","icon":"fa-link","standardicon":"\"tool_brickfield:f\/link\""},{"name":"tool_brickfield:f\/media","icon":"fa-play-circle-o","standardicon":"\"tool_brickfield:f\/media\""},{"name":"tool_brickfield:f\/table","icon":"fa-table","standardicon":"\"tool_brickfield:f\/table\""},{"name":"tool_brickfield:f\/text","icon":"fa-font","standardicon":"\"tool_brickfield:f\/text\""},{"name":"tool_lp:url","icon":"fa-external-link","standardicon":"\"tool_lp:url\""},{"name":"tool_policy:agreed","icon":"fa-check text-success","standardicon":"\"tool_policy:agreed\""},{"name":"tool_policy:declined","icon":"fa-times text-danger","standardicon":"\"tool_policy:declined\""},{"name":"tool_policy:pending","icon":"fa-clock-o text-warning","standardicon":"\"tool_policy:pending\""},{"name":"tool_policy:partial","icon":"fa-exclamation-triangle text-warning","standardicon":"\"tool_policy:partial\""},{"name":"tool_policy:level","icon":"fa-level-up fa-rotate-90 text-muted","standardicon":"\"tool_policy:level\""},{"name":"tool_recyclebin:trash","icon":"fa-trash","standardicon":"\"tool_recyclebin:trash\""},{"name":"tool_usertours:t\/export","icon":"fa-download","standardicon":"\"tool_usertours:t\/export\""},{"name":"tool_usertours:i\/reload","icon":"fa-refresh","standardicon":"\"tool_usertours:i\/reload\""},{"name":"tool_usertours:t\/filler","icon":"fa-spacer","standardicon":"\"tool_usertours:t\/filler\""},{"name":"atto_collapse:icon","icon":"fa-level-down","standardicon":"\"atto_collapse:icon\""},{"name":"atto_recordrtc:i\/audiortc","icon":"fa-microphone","standardicon":"\"atto_recordrtc:i\/audiortc\""},{"name":"atto_recordrtc:i\/videortc","icon":"fa-video-camera","standardicon":"\"atto_recordrtc:i\/videortc\""}] \ No newline at end of file +[{"name":"core:docs","icon":"fa-info-circle","standardicon":"\"core:docs\""},{"name":"core:book","icon":"fa-book","standardicon":"\"core:book\""},{"name":"core:help","icon":"fa-question-circle text-info","standardicon":"\"core:help\""},{"name":"core:req","icon":"fa-exclamation-circle text-danger","standardicon":"\"core:req\""},{"name":"core:a\/add_file","icon":"fa-file-o","standardicon":"\"core:a\/add_file\""},{"name":"core:a\/create_folder","icon":"fa-folder-o","standardicon":"\"core:a\/create_folder\""},{"name":"core:a\/download_all","icon":"fa-download","standardicon":"\"core:a\/download_all\""},{"name":"core:a\/help","icon":"fa-question-circle text-info","standardicon":"\"core:a\/help\""},{"name":"core:a\/logout","icon":"fa-sign-out","standardicon":"\"core:a\/logout\""},{"name":"core:a\/refresh","icon":"fa-refresh","standardicon":"\"core:a\/refresh\""},{"name":"core:a\/search","icon":"fa-search","standardicon":"\"core:a\/search\""},{"name":"core:a\/setting","icon":"fa-cog","standardicon":"\"core:a\/setting\""},{"name":"core:a\/view_icon_active","icon":"fa-th","standardicon":"\"core:a\/view_icon_active\""},{"name":"core:a\/view_list_active","icon":"fa-list","standardicon":"\"core:a\/view_list_active\""},{"name":"core:a\/view_tree_active","icon":"fa-folder","standardicon":"\"core:a\/view_tree_active\""},{"name":"core:b\/bookmark-new","icon":"fa-bookmark","standardicon":"\"core:b\/bookmark-new\""},{"name":"core:b\/document-edit","icon":"fa-pencil","standardicon":"\"core:b\/document-edit\""},{"name":"core:b\/document-new","icon":"fa-file-o","standardicon":"\"core:b\/document-new\""},{"name":"core:b\/document-properties","icon":"fa-info","standardicon":"\"core:b\/document-properties\""},{"name":"core:b\/edit-copy","icon":"fa-files-o","standardicon":"\"core:b\/edit-copy\""},{"name":"core:b\/edit-delete","icon":"fa-trash","standardicon":"\"core:b\/edit-delete\""},{"name":"core:e\/abbr","icon":"fa-comment","standardicon":"\"core:e\/abbr\""},{"name":"core:e\/absolute","icon":"fa-crosshairs","standardicon":"\"core:e\/absolute\""},{"name":"core:e\/accessibility_checker","icon":"fa-universal-access","standardicon":"\"core:e\/accessibility_checker\""},{"name":"core:e\/acronym","icon":"fa-comment","standardicon":"\"core:e\/acronym\""},{"name":"core:e\/advance_hr","icon":"fa-arrows-h","standardicon":"\"core:e\/advance_hr\""},{"name":"core:e\/align_center","icon":"fa-align-center","standardicon":"\"core:e\/align_center\""},{"name":"core:e\/align_left","icon":"fa-align-left","standardicon":"\"core:e\/align_left\""},{"name":"core:e\/align_right","icon":"fa-align-right","standardicon":"\"core:e\/align_right\""},{"name":"core:e\/anchor","icon":"fa-chain","standardicon":"\"core:e\/anchor\""},{"name":"core:e\/backward","icon":"fa-undo","standardicon":"\"core:e\/backward\""},{"name":"core:e\/bold","icon":"fa-bold","standardicon":"\"core:e\/bold\""},{"name":"core:e\/bullet_list","icon":"fa-list-ul","standardicon":"\"core:e\/bullet_list\""},{"name":"core:e\/cancel","icon":"fa-times","standardicon":"\"core:e\/cancel\""},{"name":"core:e\/cancel_solid_circle","icon":"fas fa-times-circle","standardicon":"\"core:e\/cancel_solid_circle\""},{"name":"core:e\/cell_props","icon":"fa-info","standardicon":"\"core:e\/cell_props\""},{"name":"core:e\/cite","icon":"fa-quote-right","standardicon":"\"core:e\/cite\""},{"name":"core:e\/cleanup_messy_code","icon":"fa-eraser","standardicon":"\"core:e\/cleanup_messy_code\""},{"name":"core:e\/clear_formatting","icon":"fa-i-cursor","standardicon":"\"core:e\/clear_formatting\""},{"name":"core:e\/copy","icon":"fa-clone","standardicon":"\"core:e\/copy\""},{"name":"core:e\/cut","icon":"fa-scissors","standardicon":"\"core:e\/cut\""},{"name":"core:e\/decrease_indent","icon":"fa-outdent","standardicon":"\"core:e\/decrease_indent\""},{"name":"core:e\/delete_col","icon":"fa-minus","standardicon":"\"core:e\/delete_col\""},{"name":"core:e\/delete_row","icon":"fa-minus","standardicon":"\"core:e\/delete_row\""},{"name":"core:e\/delete","icon":"fa-minus","standardicon":"\"core:e\/delete\""},{"name":"core:e\/delete_table","icon":"fa-minus","standardicon":"\"core:e\/delete_table\""},{"name":"core:e\/document_properties","icon":"fa-info","standardicon":"\"core:e\/document_properties\""},{"name":"core:e\/emoticons","icon":"fa-smile-o","standardicon":"\"core:e\/emoticons\""},{"name":"core:e\/find_replace","icon":"fa-search-plus","standardicon":"\"core:e\/find_replace\""},{"name":"core:e\/file-text","icon":"fa-file-text","standardicon":"\"core:e\/file-text\""},{"name":"core:e\/forward","icon":"fa-arrow-right","standardicon":"\"core:e\/forward\""},{"name":"core:e\/fullpage","icon":"fa-arrows-alt","standardicon":"\"core:e\/fullpage\""},{"name":"core:e\/fullscreen","icon":"fa-arrows-alt","standardicon":"\"core:e\/fullscreen\""},{"name":"core:e\/help","icon":"fa-question-circle","standardicon":"\"core:e\/help\""},{"name":"core:e\/increase_indent","icon":"fa-indent","standardicon":"\"core:e\/increase_indent\""},{"name":"core:e\/insert_col_after","icon":"fa-columns","standardicon":"\"core:e\/insert_col_after\""},{"name":"core:e\/insert_col_before","icon":"fa-columns","standardicon":"\"core:e\/insert_col_before\""},{"name":"core:e\/insert_date","icon":"fa-calendar","standardicon":"\"core:e\/insert_date\""},{"name":"core:e\/insert_edit_image","icon":"fa-picture-o","standardicon":"\"core:e\/insert_edit_image\""},{"name":"core:e\/insert_edit_link","icon":"fa-link","standardicon":"\"core:e\/insert_edit_link\""},{"name":"core:e\/insert_edit_video","icon":"fa-file-video-o","standardicon":"\"core:e\/insert_edit_video\""},{"name":"core:e\/insert_file","icon":"fa-file","standardicon":"\"core:e\/insert_file\""},{"name":"core:e\/insert_horizontal_ruler","icon":"fa-arrows-h","standardicon":"\"core:e\/insert_horizontal_ruler\""},{"name":"core:e\/insert_nonbreaking_space","icon":"fa-square-o","standardicon":"\"core:e\/insert_nonbreaking_space\""},{"name":"core:e\/insert_page_break","icon":"fa-level-down","standardicon":"\"core:e\/insert_page_break\""},{"name":"core:e\/insert_row_after","icon":"fa-plus","standardicon":"\"core:e\/insert_row_after\""},{"name":"core:e\/insert_row_before","icon":"fa-plus","standardicon":"\"core:e\/insert_row_before\""},{"name":"core:e\/insert","icon":"fa-plus","standardicon":"\"core:e\/insert\""},{"name":"core:e\/insert_time","icon":"fa-clock-o","standardicon":"\"core:e\/insert_time\""},{"name":"core:e\/italic","icon":"fa-italic","standardicon":"\"core:e\/italic\""},{"name":"core:e\/justify","icon":"fa-align-justify","standardicon":"\"core:e\/justify\""},{"name":"core:e\/layers_over","icon":"fa-level-up","standardicon":"\"core:e\/layers_over\""},{"name":"core:e\/layers","icon":"fa-window-restore","standardicon":"\"core:e\/layers\""},{"name":"core:e\/layers_under","icon":"fa-level-down","standardicon":"\"core:e\/layers_under\""},{"name":"core:e\/left_to_right","icon":"fa-chevron-right","standardicon":"\"core:e\/left_to_right\""},{"name":"core:e\/manage_files","icon":"fa-files-o","standardicon":"\"core:e\/manage_files\""},{"name":"core:e\/math","icon":"fa-calculator","standardicon":"\"core:e\/math\""},{"name":"core:e\/merge_cells","icon":"fa-compress","standardicon":"\"core:e\/merge_cells\""},{"name":"core:e\/new_document","icon":"fa-file-o","standardicon":"\"core:e\/new_document\""},{"name":"core:e\/numbered_list","icon":"fa-list-ol","standardicon":"\"core:e\/numbered_list\""},{"name":"core:e\/page_break","icon":"fa-level-down","standardicon":"\"core:e\/page_break\""},{"name":"core:e\/paste","icon":"fa-clipboard","standardicon":"\"core:e\/paste\""},{"name":"core:e\/paste_text","icon":"fa-clipboard","standardicon":"\"core:e\/paste_text\""},{"name":"core:e\/paste_word","icon":"fa-clipboard","standardicon":"\"core:e\/paste_word\""},{"name":"core:e\/prevent_autolink","icon":"fa-exclamation","standardicon":"\"core:e\/prevent_autolink\""},{"name":"core:e\/preview","icon":"fa-search-plus","standardicon":"\"core:e\/preview\""},{"name":"core:e\/print","icon":"fa-print","standardicon":"\"core:e\/print\""},{"name":"core:e\/question","icon":"fa-question","standardicon":"\"core:e\/question\""},{"name":"core:e\/redo","icon":"fa-repeat","standardicon":"\"core:e\/redo\""},{"name":"core:e\/remove_link","icon":"fa-chain-broken","standardicon":"\"core:e\/remove_link\""},{"name":"core:e\/remove_page_break","icon":"fa-remove","standardicon":"\"core:e\/remove_page_break\""},{"name":"core:e\/resize","icon":"fa-expand","standardicon":"\"core:e\/resize\""},{"name":"core:e\/restore_draft","icon":"fa-undo","standardicon":"\"core:e\/restore_draft\""},{"name":"core:e\/restore_last_draft","icon":"fa-undo","standardicon":"\"core:e\/restore_last_draft\""},{"name":"core:e\/right_to_left","icon":"fa-chevron-left","standardicon":"\"core:e\/right_to_left\""},{"name":"core:e\/row_props","icon":"fa-info","standardicon":"\"core:e\/row_props\""},{"name":"core:e\/save","icon":"fa-floppy-o","standardicon":"\"core:e\/save\""},{"name":"core:e\/screenreader_helper","icon":"fa-braille","standardicon":"\"core:e\/screenreader_helper\""},{"name":"core:e\/search","icon":"fa-search","standardicon":"\"core:e\/search\""},{"name":"core:e\/select_all","icon":"fa-arrows-h","standardicon":"\"core:e\/select_all\""},{"name":"core:e\/show_invisible_characters","icon":"fa-eye-slash","standardicon":"\"core:e\/show_invisible_characters\""},{"name":"core:e\/source_code","icon":"fa-code","standardicon":"\"core:e\/source_code\""},{"name":"core:e\/special_character","icon":"fa-pencil-square-o","standardicon":"\"core:e\/special_character\""},{"name":"core:e\/spellcheck","icon":"fa-check","standardicon":"\"core:e\/spellcheck\""},{"name":"core:e\/split_cells","icon":"fa-columns","standardicon":"\"core:e\/split_cells\""},{"name":"core:e\/strikethrough","icon":"fa-strikethrough","standardicon":"\"core:e\/strikethrough\""},{"name":"core:e\/styleparagraph","icon":"fa-font","standardicon":"\"core:e\/styleparagraph\""},{"name":"core:e\/subscript","icon":"fa-subscript","standardicon":"\"core:e\/subscript\""},{"name":"core:e\/superscript","icon":"fa-superscript","standardicon":"\"core:e\/superscript\""},{"name":"core:e\/table_props","icon":"fa-table","standardicon":"\"core:e\/table_props\""},{"name":"core:e\/table","icon":"fa-table","standardicon":"\"core:e\/table\""},{"name":"core:e\/template","icon":"fa-sticky-note","standardicon":"\"core:e\/template\""},{"name":"core:e\/text_color_picker","icon":"fa-paint-brush","standardicon":"\"core:e\/text_color_picker\""},{"name":"core:e\/text_color","icon":"fa-paint-brush","standardicon":"\"core:e\/text_color\""},{"name":"core:e\/text_highlight_picker","icon":"fa-lightbulb-o","standardicon":"\"core:e\/text_highlight_picker\""},{"name":"core:e\/text_highlight","icon":"fa-lightbulb-o","standardicon":"\"core:e\/text_highlight\""},{"name":"core:e\/tick","icon":"fa-check","standardicon":"\"core:e\/tick\""},{"name":"core:e\/toggle_blockquote","icon":"fa-quote-left","standardicon":"\"core:e\/toggle_blockquote\""},{"name":"core:e\/underline","icon":"fa-underline","standardicon":"\"core:e\/underline\""},{"name":"core:e\/undo","icon":"fa-undo","standardicon":"\"core:e\/undo\""},{"name":"core:e\/visual_aid","icon":"fa-universal-access","standardicon":"\"core:e\/visual_aid\""},{"name":"core:e\/visual_blocks","icon":"fa-audio-description","standardicon":"\"core:e\/visual_blocks\""},{"name":"core:i\/addblock","icon":"fa-plus-square","standardicon":"\"core:i\/addblock\""},{"name":"core:i\/assignroles","icon":"fa-user-plus","standardicon":"\"core:i\/assignroles\""},{"name":"core:i\/asterisk","icon":"fa-asterisk","standardicon":"\"core:i\/asterisk\""},{"name":"core:i\/backup","icon":"fa-file-zip-o","standardicon":"\"core:i\/backup\""},{"name":"core:i\/badge","icon":"fa-shield","standardicon":"\"core:i\/badge\""},{"name":"core:i\/breadcrumbdivider","icon":"fa-angle-right","standardicon":"\"core:i\/breadcrumbdivider\""},{"name":"core:i\/bullhorn","icon":"fa-bullhorn","standardicon":"\"core:i\/bullhorn\""},{"name":"core:i\/calc","icon":"fa-calculator","standardicon":"\"core:i\/calc\""},{"name":"core:i\/calendar","icon":"fa-calendar","standardicon":"\"core:i\/calendar\""},{"name":"core:i\/calendareventdescription","icon":"fa-align-left","standardicon":"\"core:i\/calendareventdescription\""},{"name":"core:i\/calendareventtime","icon":"fa-clock-o","standardicon":"\"core:i\/calendareventtime\""},{"name":"core:i\/caution","icon":"fa-exclamation text-warning","standardicon":"\"core:i\/caution\""},{"name":"core:i\/checked","icon":"fa-check","standardicon":"\"core:i\/checked\""},{"name":"core:i\/checkedcircle","icon":"fa-check-circle","standardicon":"\"core:i\/checkedcircle\""},{"name":"core:i\/checkpermissions","icon":"fa-unlock-alt","standardicon":"\"core:i\/checkpermissions\""},{"name":"core:i\/cohort","icon":"fa-users","standardicon":"\"core:i\/cohort\""},{"name":"core:i\/competencies","icon":"fa-check-square-o","standardicon":"\"core:i\/competencies\""},{"name":"core:i\/completion_self","icon":"fa-user-o","standardicon":"\"core:i\/completion_self\""},{"name":"core:i\/contentbank","icon":"fa-paint-brush","standardicon":"\"core:i\/contentbank\""},{"name":"core:i\/dashboard","icon":"fa-tachometer","standardicon":"\"core:i\/dashboard\""},{"name":"core:i\/categoryevent","icon":"fa-cubes","standardicon":"\"core:i\/categoryevent\""},{"name":"core:i\/course","icon":"fa-graduation-cap","standardicon":"\"core:i\/course\""},{"name":"core:i\/courseevent","icon":"fa-graduation-cap","standardicon":"\"core:i\/courseevent\""},{"name":"core:i\/customfield","icon":"fa-hand-o-right","standardicon":"\"core:i\/customfield\""},{"name":"core:i\/db","icon":"fa-database","standardicon":"\"core:i\/db\""},{"name":"core:i\/delete","icon":"fa-trash","standardicon":"\"core:i\/delete\""},{"name":"core:i\/down","icon":"fa-arrow-down","standardicon":"\"core:i\/down\""},{"name":"core:i\/dragdrop","icon":"fa-arrows","standardicon":"\"core:i\/dragdrop\""},{"name":"core:i\/duration","icon":"fa-clock-o","standardicon":"\"core:i\/duration\""},{"name":"core:i\/emojicategoryactivities","icon":"fa-futbol-o","standardicon":"\"core:i\/emojicategoryactivities\""},{"name":"core:i\/emojicategoryanimalsnature","icon":"fa-leaf","standardicon":"\"core:i\/emojicategoryanimalsnature\""},{"name":"core:i\/emojicategoryflags","icon":"fa-flag","standardicon":"\"core:i\/emojicategoryflags\""},{"name":"core:i\/emojicategoryfooddrink","icon":"fa-cutlery","standardicon":"\"core:i\/emojicategoryfooddrink\""},{"name":"core:i\/emojicategoryobjects","icon":"fa-lightbulb-o","standardicon":"\"core:i\/emojicategoryobjects\""},{"name":"core:i\/emojicategorypeoplebody","icon":"fa-male","standardicon":"\"core:i\/emojicategorypeoplebody\""},{"name":"core:i\/emojicategoryrecent","icon":"fa-clock-o","standardicon":"\"core:i\/emojicategoryrecent\""},{"name":"core:i\/emojicategorysmileysemotion","icon":"fa-smile-o","standardicon":"\"core:i\/emojicategorysmileysemotion\""},{"name":"core:i\/emojicategorysymbols","icon":"fa-heart","standardicon":"\"core:i\/emojicategorysymbols\""},{"name":"core:i\/emojicategorytravelplaces","icon":"fa-plane","standardicon":"\"core:i\/emojicategorytravelplaces\""},{"name":"core:i\/edit","icon":"fa-pencil","standardicon":"\"core:i\/edit\""},{"name":"core:i\/email","icon":"fa-envelope","standardicon":"\"core:i\/email\""},{"name":"core:i\/empty","icon":"fa-fw","standardicon":"\"core:i\/empty\""},{"name":"core:i\/enrolmentsuspended","icon":"fa-pause","standardicon":"\"core:i\/enrolmentsuspended\""},{"name":"core:i\/enrolusers","icon":"fa-user-plus","standardicon":"\"core:i\/enrolusers\""},{"name":"core:i\/excluded","icon":"fa-minus-circle","standardicon":"\"core:i\/excluded\""},{"name":"core:i\/expired","icon":"fa-exclamation text-warning","standardicon":"\"core:i\/expired\""},{"name":"core:i\/export","icon":"fa-download","standardicon":"\"core:i\/export\""},{"name":"core:i\/link","icon":"fa-link","standardicon":"\"core:i\/link\""},{"name":"core:i\/externallink","icon":"fa-external-link","standardicon":"\"core:i\/externallink\""},{"name":"core:i\/files","icon":"fa-file","standardicon":"\"core:i\/files\""},{"name":"core:i\/filter","icon":"fa-filter","standardicon":"\"core:i\/filter\""},{"name":"core:i\/flagged","icon":"fa-flag","standardicon":"\"core:i\/flagged\""},{"name":"core:i\/folder","icon":"fa-folder","standardicon":"\"core:i\/folder\""},{"name":"core:i\/grade_correct","icon":"fa-check text-success","standardicon":"\"core:i\/grade_correct\""},{"name":"core:i\/grade_incorrect","icon":"fa-remove text-danger","standardicon":"\"core:i\/grade_incorrect\""},{"name":"core:i\/grade_partiallycorrect","icon":"fa-check-square","standardicon":"\"core:i\/grade_partiallycorrect\""},{"name":"core:i\/grades","icon":"fa-table","standardicon":"\"core:i\/grades\""},{"name":"core:i\/grading","icon":"fa-magic","standardicon":"\"core:i\/grading\""},{"name":"core:i\/gradingnotifications","icon":"fa-bell-o","standardicon":"\"core:i\/gradingnotifications\""},{"name":"core:i\/groupevent","icon":"fa-group","standardicon":"\"core:i\/groupevent\""},{"name":"core:i\/groupn","icon":"fa-user","standardicon":"\"core:i\/groupn\""},{"name":"core:i\/group","icon":"fa-users","standardicon":"\"core:i\/group\""},{"name":"core:i\/groups","icon":"fa-user-circle","standardicon":"\"core:i\/groups\""},{"name":"core:i\/groupv","icon":"fa-user-circle-o","standardicon":"\"core:i\/groupv\""},{"name":"core:i\/home","icon":"fa-home","standardicon":"\"core:i\/home\""},{"name":"core:i\/hide","icon":"fa-eye","standardicon":"\"core:i\/hide\""},{"name":"core:i\/hierarchylock","icon":"fa-lock","standardicon":"\"core:i\/hierarchylock\""},{"name":"core:i\/import","icon":"fa-level-up","standardicon":"\"core:i\/import\""},{"name":"core:i\/incorrect","icon":"fa-exclamation","standardicon":"\"core:i\/incorrect\""},{"name":"core:i\/info","icon":"fa-info","standardicon":"\"core:i\/info\""},{"name":"core:i\/invalid","icon":"fa-times text-danger","standardicon":"\"core:i\/invalid\""},{"name":"core:i\/item","icon":"fa-circle","standardicon":"\"core:i\/item\""},{"name":"core:i\/loading","icon":"fa-circle-o-notch fa-spin","standardicon":"\"core:i\/loading\""},{"name":"core:i\/loading_small","icon":"fa-circle-o-notch fa-spin","standardicon":"\"core:i\/loading_small\""},{"name":"core:i\/location","icon":"fa-map-marker","standardicon":"\"core:i\/location\""},{"name":"core:i\/lock","icon":"fa-lock","standardicon":"\"core:i\/lock\""},{"name":"core:i\/log","icon":"fa-list-alt","standardicon":"\"core:i\/log\""},{"name":"core:i\/mahara_host","icon":"fa-id-badge","standardicon":"\"core:i\/mahara_host\""},{"name":"core:i\/manual_item","icon":"fa-square-o","standardicon":"\"core:i\/manual_item\""},{"name":"core:i\/marked","icon":"fa-circle","standardicon":"\"core:i\/marked\""},{"name":"core:i\/marker","icon":"fa-circle-o","standardicon":"\"core:i\/marker\""},{"name":"core:i\/mean","icon":"fa-calculator","standardicon":"\"core:i\/mean\""},{"name":"core:i\/menu","icon":"fa-ellipsis-v","standardicon":"\"core:i\/menu\""},{"name":"core:i\/menubars","icon":"fa-bars","standardicon":"\"core:i\/menubars\""},{"name":"core:i\/messagecontentaudio","icon":"fa-headphones","standardicon":"\"core:i\/messagecontentaudio\""},{"name":"core:i\/messagecontentimage","icon":"fa-image","standardicon":"\"core:i\/messagecontentimage\""},{"name":"core:i\/messagecontentvideo","icon":"fa-film","standardicon":"\"core:i\/messagecontentvideo\""},{"name":"core:i\/messagecontentmultimediageneral","icon":"fa-file-video-o","standardicon":"\"core:i\/messagecontentmultimediageneral\""},{"name":"core:i\/mnethost","icon":"fa-external-link","standardicon":"\"core:i\/mnethost\""},{"name":"core:i\/moodle_host","icon":"fa-graduation-cap","standardicon":"\"core:i\/moodle_host\""},{"name":"core:i\/moremenu","icon":"fa-ellipsis-h","standardicon":"\"core:i\/moremenu\""},{"name":"core:i\/move_2d","icon":"fa-arrows","standardicon":"\"core:i\/move_2d\""},{"name":"core:i\/muted","icon":"fa-microphone-slash","standardicon":"\"core:i\/muted\""},{"name":"core:i\/navigationitem","icon":"fa-fw","standardicon":"\"core:i\/navigationitem\""},{"name":"core:i\/ne_red_mark","icon":"fa-remove","standardicon":"\"core:i\/ne_red_mark\""},{"name":"core:i\/new","icon":"fa-bolt","standardicon":"\"core:i\/new\""},{"name":"core:i\/news","icon":"fa-newspaper-o","standardicon":"\"core:i\/news\""},{"name":"core:i\/next","icon":"fa-chevron-right","standardicon":"\"core:i\/next\""},{"name":"core:i\/nosubcat","icon":"fa-plus-square-o","standardicon":"\"core:i\/nosubcat\""},{"name":"core:i\/notifications","icon":"fa-bell-o","standardicon":"\"core:i\/notifications\""},{"name":"core:i\/open","icon":"fa-folder-open","standardicon":"\"core:i\/open\""},{"name":"core:i\/otherevent","icon":"fa-calendar","standardicon":"\"core:i\/otherevent\""},{"name":"core:i\/outcomes","icon":"fa-tasks","standardicon":"\"core:i\/outcomes\""},{"name":"core:i\/overriden_grade","icon":"fa-edit","standardicon":"\"core:i\/overriden_grade\""},{"name":"core:i\/payment","icon":"fa-money","standardicon":"\"core:i\/payment\""},{"name":"core:i\/permissionlock","icon":"fa-lock","standardicon":"\"core:i\/permissionlock\""},{"name":"core:i\/permissions","icon":"fa-pencil-square-o","standardicon":"\"core:i\/permissions\""},{"name":"core:i\/persona_sign_in_black","icon":"fa-male","standardicon":"\"core:i\/persona_sign_in_black\""},{"name":"core:i\/portfolio","icon":"fa-id-badge","standardicon":"\"core:i\/portfolio\""},{"name":"core:i\/preview","icon":"fa-search-plus","standardicon":"\"core:i\/preview\""},{"name":"core:i\/previous","icon":"fa-chevron-left","standardicon":"\"core:i\/previous\""},{"name":"core:i\/privatefiles","icon":"fa-file-o","standardicon":"\"core:i\/privatefiles\""},{"name":"core:i\/progressbar","icon":"fa-spinner fa-spin","standardicon":"\"core:i\/progressbar\""},{"name":"core:i\/publish","icon":"fa-share","standardicon":"\"core:i\/publish\""},{"name":"core:i\/questions","icon":"fa-question","standardicon":"\"core:i\/questions\""},{"name":"core:i\/reload","icon":"fa-refresh","standardicon":"\"core:i\/reload\""},{"name":"core:i\/report","icon":"fa-area-chart","standardicon":"\"core:i\/report\""},{"name":"core:i\/repository","icon":"fa-hdd-o","standardicon":"\"core:i\/repository\""},{"name":"core:i\/restore","icon":"fa-level-up","standardicon":"\"core:i\/restore\""},{"name":"core:i\/return","icon":"fa-arrow-left","standardicon":"\"core:i\/return\""},{"name":"core:i\/risk_config","icon":"fa-exclamation text-muted","standardicon":"\"core:i\/risk_config\""},{"name":"core:i\/risk_managetrust","icon":"fa-exclamation-triangle text-warning","standardicon":"\"core:i\/risk_managetrust\""},{"name":"core:i\/risk_personal","icon":"fa-exclamation-circle text-info","standardicon":"\"core:i\/risk_personal\""},{"name":"core:i\/risk_spam","icon":"fa-exclamation text-primary","standardicon":"\"core:i\/risk_spam\""},{"name":"core:i\/risk_xss","icon":"fa-exclamation-triangle text-danger","standardicon":"\"core:i\/risk_xss\""},{"name":"core:i\/role","icon":"fa-user-md","standardicon":"\"core:i\/role\""},{"name":"core:i\/rss","icon":"fa-rss","standardicon":"\"core:i\/rss\""},{"name":"core:i\/rsssitelogo","icon":"fa-graduation-cap","standardicon":"\"core:i\/rsssitelogo\""},{"name":"core:i\/scales","icon":"fa-balance-scale","standardicon":"\"core:i\/scales\""},{"name":"core:i\/scheduled","icon":"fa-calendar-check-o","standardicon":"\"core:i\/scheduled\""},{"name":"core:i\/search","icon":"fa-search","standardicon":"\"core:i\/search\""},{"name":"core:i\/section","icon":"fa-folder-o","standardicon":"\"core:i\/section\""},{"name":"core:i\/sendmessage","icon":"fa-paper-plane","standardicon":"\"core:i\/sendmessage\""},{"name":"core:i\/settings","icon":"fa-cog","standardicon":"\"core:i\/settings\""},{"name":"core:i\/show","icon":"fa-eye-slash","standardicon":"\"core:i\/show\""},{"name":"core:i\/siteevent","icon":"fa-globe","standardicon":"\"core:i\/siteevent\""},{"name":"core:i\/star","icon":"fa-star","standardicon":"\"core:i\/star\""},{"name":"core:i\/star-o","icon":"fa-star-o","standardicon":"\"core:i\/star-o\""},{"name":"core:i\/star-rating","icon":"fa-star","standardicon":"\"core:i\/star-rating\""},{"name":"core:i\/stats","icon":"fa-line-chart","standardicon":"\"core:i\/stats\""},{"name":"core:i\/switch","icon":"fa-exchange","standardicon":"\"core:i\/switch\""},{"name":"core:i\/switchrole","icon":"fa-user-secret","standardicon":"\"core:i\/switchrole\""},{"name":"core:i\/trash","icon":"fa-trash","standardicon":"\"core:i\/trash\""},{"name":"core:i\/twoway","icon":"fa-arrows-h","standardicon":"\"core:i\/twoway\""},{"name":"core:i\/unchecked","icon":"fa-square-o","standardicon":"\"core:i\/unchecked\""},{"name":"core:i\/uncheckedcircle","icon":"fa-circle-o","standardicon":"\"core:i\/uncheckedcircle\""},{"name":"core:i\/unflagged","icon":"fa-flag-o","standardicon":"\"core:i\/unflagged\""},{"name":"core:i\/unlock","icon":"fa-unlock","standardicon":"\"core:i\/unlock\""},{"name":"core:i\/up","icon":"fa-arrow-up","standardicon":"\"core:i\/up\""},{"name":"core:i\/upload","icon":"fa-upload","standardicon":"\"core:i\/upload\""},{"name":"core:i\/userevent","icon":"fa-user","standardicon":"\"core:i\/userevent\""},{"name":"core:i\/user","icon":"fa-user","standardicon":"\"core:i\/user\""},{"name":"core:i\/users","icon":"fa-users","standardicon":"\"core:i\/users\""},{"name":"core:i\/valid","icon":"fa-check text-success","standardicon":"\"core:i\/valid\""},{"name":"core:i\/warning","icon":"fa-exclamation text-warning","standardicon":"\"core:i\/warning\""},{"name":"core:i\/window_close","icon":"fa-window-close","standardicon":"\"core:i\/window_close\""},{"name":"core:i\/withsubcat","icon":"fa-plus-square","standardicon":"\"core:i\/withsubcat\""},{"name":"core:i\/language","icon":"fa-language","standardicon":"\"core:i\/language\""},{"name":"core:m\/USD","icon":"fa-usd","standardicon":"\"core:m\/USD\""},{"name":"core:t\/addcontact","icon":"fa-address-card","standardicon":"\"core:t\/addcontact\""},{"name":"core:t\/add","icon":"fa-plus","standardicon":"\"core:t\/add\""},{"name":"core:t\/approve","icon":"fa-thumbs-up","standardicon":"\"core:t\/approve\""},{"name":"core:t\/assignroles","icon":"fa-user-circle","standardicon":"\"core:t\/assignroles\""},{"name":"core:t\/award","icon":"fa-trophy","standardicon":"\"core:t\/award\""},{"name":"core:t\/backpack","icon":"fa-shopping-bag","standardicon":"\"core:t\/backpack\""},{"name":"core:t\/backup","icon":"fa-arrow-circle-down","standardicon":"\"core:t\/backup\""},{"name":"core:t\/block","icon":"fa-ban","standardicon":"\"core:t\/block\""},{"name":"core:t\/block_to_dock_rtl","icon":"fa-chevron-right","standardicon":"\"core:t\/block_to_dock_rtl\""},{"name":"core:t\/block_to_dock","icon":"fa-chevron-left","standardicon":"\"core:t\/block_to_dock\""},{"name":"core:t\/blocks_drawer","icon":"fa-chevron-left","standardicon":"\"core:t\/blocks_drawer\""},{"name":"core:t\/blocks_drawer_rtl","icon":"fa-chevron-right","standardicon":"\"core:t\/blocks_drawer_rtl\""},{"name":"core:t\/calc_off","icon":"fa-calculator","standardicon":"\"core:t\/calc_off\""},{"name":"core:t\/calc","icon":"fa-calculator","standardicon":"\"core:t\/calc\""},{"name":"core:t\/check","icon":"fa-check","standardicon":"\"core:t\/check\""},{"name":"core:t\/clipboard","icon":"fa-clipboard","standardicon":"\"core:t\/clipboard\""},{"name":"core:t\/cohort","icon":"fa-users","standardicon":"\"core:t\/cohort\""},{"name":"core:t\/collapsed_empty_rtl","icon":"fa-caret-square-o-left","standardicon":"\"core:t\/collapsed_empty_rtl\""},{"name":"core:t\/collapsed_empty","icon":"fa-caret-square-o-right","standardicon":"\"core:t\/collapsed_empty\""},{"name":"core:t\/collapsed_rtl","icon":"fa-caret-left","standardicon":"\"core:t\/collapsed_rtl\""},{"name":"core:t\/collapsed","icon":"fa-caret-right","standardicon":"\"core:t\/collapsed\""},{"name":"core:t\/collapsedcaret","icon":"fa-caret-right","standardicon":"\"core:t\/collapsedcaret\""},{"name":"core:t\/collapsedchevron","icon":"fa-chevron-right","standardicon":"\"core:t\/collapsedchevron\""},{"name":"core:t\/collapsedchevron_rtl","icon":"fa-chevron-left","standardicon":"\"core:t\/collapsedchevron_rtl\""},{"name":"core:t\/completion_complete","icon":"fa-circle","standardicon":"\"core:t\/completion_complete\""},{"name":"core:t\/completion_fail","icon":"fa-times","standardicon":"\"core:t\/completion_fail\""},{"name":"core:t\/completion_incomplete","icon":"fa-circle-thin","standardicon":"\"core:t\/completion_incomplete\""},{"name":"core:t\/contextmenu","icon":"fa-cog","standardicon":"\"core:t\/contextmenu\""},{"name":"core:t\/copy","icon":"fa-copy","standardicon":"\"core:t\/copy\""},{"name":"core:t\/delete","icon":"fa-trash","standardicon":"\"core:t\/delete\""},{"name":"core:t\/dockclose","icon":"fa-window-close","standardicon":"\"core:t\/dockclose\""},{"name":"core:t\/dock_to_block_rtl","icon":"fa-chevron-right","standardicon":"\"core:t\/dock_to_block_rtl\""},{"name":"core:t\/dock_to_block","icon":"fa-chevron-left","standardicon":"\"core:t\/dock_to_block\""},{"name":"core:t\/download","icon":"fa-download","standardicon":"\"core:t\/download\""},{"name":"core:t\/down","icon":"fa-arrow-down","standardicon":"\"core:t\/down\""},{"name":"core:t\/downlong","icon":"fa-long-arrow-down","standardicon":"\"core:t\/downlong\""},{"name":"core:t\/dropdown","icon":"fa-cog","standardicon":"\"core:t\/dropdown\""},{"name":"core:t\/editinline","icon":"fa-pencil","standardicon":"\"core:t\/editinline\""},{"name":"core:t\/edit_menu","icon":"fa-cog","standardicon":"\"core:t\/edit_menu\""},{"name":"core:t\/editstring","icon":"fa-pencil","standardicon":"\"core:t\/editstring\""},{"name":"core:t\/edit","icon":"fa-cog","standardicon":"\"core:t\/edit\""},{"name":"core:t\/emailno","icon":"fa-ban","standardicon":"\"core:t\/emailno\""},{"name":"core:t\/email","icon":"fa-envelope-o","standardicon":"\"core:t\/email\""},{"name":"core:t\/emptystar","icon":"fa-star-o","standardicon":"\"core:t\/emptystar\""},{"name":"core:t\/enrolusers","icon":"fa-user-plus","standardicon":"\"core:t\/enrolusers\""},{"name":"core:t\/expanded","icon":"fa-caret-down","standardicon":"\"core:t\/expanded\""},{"name":"core:t\/expandedchevron","icon":"fa-chevron-down","standardicon":"\"core:t\/expandedchevron\""},{"name":"core:t\/go","icon":"fa-play","standardicon":"\"core:t\/go\""},{"name":"core:t\/grades","icon":"fa-table","standardicon":"\"core:t\/grades\""},{"name":"core:t\/groupn","icon":"fa-user","standardicon":"\"core:t\/groupn\""},{"name":"core:t\/groups","icon":"fa-user-circle","standardicon":"\"core:t\/groups\""},{"name":"core:t\/groupv","icon":"fa-user-circle-o","standardicon":"\"core:t\/groupv\""},{"name":"core:t\/hide","icon":"fa-eye","standardicon":"\"core:t\/hide\""},{"name":"core:t\/index_drawer","icon":"fa-list","standardicon":"\"core:t\/index_drawer\""},{"name":"core:t\/left","icon":"fa-arrow-left","standardicon":"\"core:t\/left\""},{"name":"core:t\/less","icon":"fa-caret-up","standardicon":"\"core:t\/less\""},{"name":"core:t\/life-ring","icon":"fa-life-ring","standardicon":"\"core:t\/life-ring\""},{"name":"core:t\/locked","icon":"fa-lock","standardicon":"\"core:t\/locked\""},{"name":"core:t\/lock","icon":"fa-unlock","standardicon":"\"core:t\/lock\""},{"name":"core:t\/locktime","icon":"fa-lock","standardicon":"\"core:t\/locktime\""},{"name":"core:t\/markasread","icon":"fa-check","standardicon":"\"core:t\/markasread\""},{"name":"core:t\/messages","icon":"fa-comments","standardicon":"\"core:t\/messages\""},{"name":"core:t\/message","icon":"fa-comment-o","standardicon":"\"core:t\/message\""},{"name":"core:t\/more","icon":"fa-caret-down","standardicon":"\"core:t\/more\""},{"name":"core:t\/move","icon":"fa-arrows-v","standardicon":"\"core:t\/move\""},{"name":"core:t\/online","icon":"fa-circle","standardicon":"\"core:t\/online\""},{"name":"core:t\/passwordunmask-edit","icon":"fa-pencil","standardicon":"\"core:t\/passwordunmask-edit\""},{"name":"core:t\/passwordunmask-reveal","icon":"fa-eye","standardicon":"\"core:t\/passwordunmask-reveal\""},{"name":"core:t\/play","icon":"fa-play","standardicon":"\"core:t\/play\""},{"name":"core:t\/portfolioadd","icon":"fa-plus","standardicon":"\"core:t\/portfolioadd\""},{"name":"core:t\/preferences","icon":"fa-wrench","standardicon":"\"core:t\/preferences\""},{"name":"core:t\/preview","icon":"fa-search-plus","standardicon":"\"core:t\/preview\""},{"name":"core:t\/print","icon":"fa-print","standardicon":"\"core:t\/print\""},{"name":"core:t\/removecontact","icon":"fa-user-times","standardicon":"\"core:t\/removecontact\""},{"name":"core:t\/reload","icon":"fa-refresh","standardicon":"\"core:t\/reload\""},{"name":"core:t\/reset","icon":"fa-repeat","standardicon":"\"core:t\/reset\""},{"name":"core:t\/restore","icon":"fa-arrow-circle-up","standardicon":"\"core:t\/restore\""},{"name":"core:t\/right","icon":"fa-arrow-right","standardicon":"\"core:t\/right\""},{"name":"core:t\/sendmessage","icon":"fa-paper-plane","standardicon":"\"core:t\/sendmessage\""},{"name":"core:t\/show","icon":"fa-eye-slash","standardicon":"\"core:t\/show\""},{"name":"core:t\/sort_by","icon":"fa-sort-amount-asc","standardicon":"\"core:t\/sort_by\""},{"name":"core:t\/sort_asc","icon":"fa-sort-asc","standardicon":"\"core:t\/sort_asc\""},{"name":"core:t\/sort_desc","icon":"fa-sort-desc","standardicon":"\"core:t\/sort_desc\""},{"name":"core:t\/sort","icon":"fa-sort","standardicon":"\"core:t\/sort\""},{"name":"core:t\/stealth","icon":"fa-low-vision","standardicon":"\"core:t\/stealth\""},{"name":"core:t\/stop","icon":"fa-stop","standardicon":"\"core:t\/stop\""},{"name":"core:t\/switch_minus","icon":"fa-minus","standardicon":"\"core:t\/switch_minus\""},{"name":"core:t\/switch_plus","icon":"fa-plus","standardicon":"\"core:t\/switch_plus\""},{"name":"core:t\/switch_whole","icon":"fa-square-o","standardicon":"\"core:t\/switch_whole\""},{"name":"core:t\/tags","icon":"fa-tags","standardicon":"\"core:t\/tags\""},{"name":"core:t\/unblock","icon":"fa-commenting","standardicon":"\"core:t\/unblock\""},{"name":"core:t\/unlocked","icon":"fa-unlock-alt","standardicon":"\"core:t\/unlocked\""},{"name":"core:t\/unlock","icon":"fa-lock","standardicon":"\"core:t\/unlock\""},{"name":"core:t\/up","icon":"fa-arrow-up","standardicon":"\"core:t\/up\""},{"name":"core:t\/uplong","icon":"fa-long-arrow-up","standardicon":"\"core:t\/uplong\""},{"name":"core:t\/user","icon":"fa-user","standardicon":"\"core:t\/user\""},{"name":"core:t\/viewdetails","icon":"fa-list","standardicon":"\"core:t\/viewdetails\""},{"name":"qtype_ddmarker:crosshairs","icon":"fa-crosshairs","standardicon":"\"qtype_ddmarker:crosshairs\""},{"name":"qtype_ddmarker:grid","icon":"fa-th","standardicon":"\"qtype_ddmarker:grid\""},{"name":"mod_book:chapter","icon":"fa-bookmark-o","standardicon":"\"mod_book:chapter\""},{"name":"mod_book:nav_prev","icon":"fa-arrow-left","standardicon":"\"mod_book:nav_prev\""},{"name":"mod_book:nav_sep","icon":"fa-minus","standardicon":"\"mod_book:nav_sep\""},{"name":"mod_book:add","icon":"fa-plus","standardicon":"\"mod_book:add\""},{"name":"mod_book:nav_next","icon":"fa-arrow-right","standardicon":"\"mod_book:nav_next\""},{"name":"mod_book:nav_exit","icon":"fa-arrow-up","standardicon":"\"mod_book:nav_exit\""},{"name":"mod_choice:row","icon":"fa-info","standardicon":"\"mod_choice:row\""},{"name":"mod_choice:column","icon":"fa-columns","standardicon":"\"mod_choice:column\""},{"name":"mod_data:field\/checkbox","icon":"fa-check-square-o","standardicon":"\"mod_data:field\/checkbox\""},{"name":"mod_data:field\/date","icon":"fa-calendar-o","standardicon":"\"mod_data:field\/date\""},{"name":"mod_data:field\/file","icon":"fa-file","standardicon":"\"mod_data:field\/file\""},{"name":"mod_data:field\/latlong","icon":"fa-globe","standardicon":"\"mod_data:field\/latlong\""},{"name":"mod_data:field\/menu","icon":"fa-bars","standardicon":"\"mod_data:field\/menu\""},{"name":"mod_data:field\/multimenu","icon":"fa-bars","standardicon":"\"mod_data:field\/multimenu\""},{"name":"mod_data:field\/number","icon":"fa-hashtag","standardicon":"\"mod_data:field\/number\""},{"name":"mod_data:field\/picture","icon":"fa-picture-o","standardicon":"\"mod_data:field\/picture\""},{"name":"mod_data:field\/radiobutton","icon":"fa-circle-o","standardicon":"\"mod_data:field\/radiobutton\""},{"name":"mod_data:field\/textarea","icon":"fa-font","standardicon":"\"mod_data:field\/textarea\""},{"name":"mod_data:field\/text","icon":"fa-i-cursor","standardicon":"\"mod_data:field\/text\""},{"name":"mod_data:field\/url","icon":"fa-link","standardicon":"\"mod_data:field\/url\""},{"name":"mod_feedback:required","icon":"fa-exclamation-circle","standardicon":"\"mod_feedback:required\""},{"name":"mod_feedback:notrequired","icon":"fa-question-circle-o","standardicon":"\"mod_feedback:notrequired\""},{"name":"mod_forum:i\/pinned","icon":"fa-map-pin","standardicon":"\"mod_forum:i\/pinned\""},{"name":"mod_forum:t\/selected","icon":"fa-check","standardicon":"\"mod_forum:t\/selected\""},{"name":"mod_forum:t\/subscribed","icon":"fa-envelope-o","standardicon":"\"mod_forum:t\/subscribed\""},{"name":"mod_forum:t\/unsubscribed","icon":"fa-envelope-open-o","standardicon":"\"mod_forum:t\/unsubscribed\""},{"name":"mod_forum:t\/star","icon":"fa-star","standardicon":"\"mod_forum:t\/star\""},{"name":"mod_glossary:export","icon":"fa-download","standardicon":"\"mod_glossary:export\""},{"name":"mod_glossary:minus","icon":"fa-minus","standardicon":"\"mod_glossary:minus\""},{"name":"mod_lesson:e\/copy","icon":"fa-clone","standardicon":"\"mod_lesson:e\/copy\""},{"name":"mod_lti:warning","icon":"fa-exclamation text-warning","standardicon":"\"mod_lti:warning\""},{"name":"mod_quiz:navflagged","icon":"fa-flag","standardicon":"\"mod_quiz:navflagged\""},{"name":"mod_scorm:assetc","icon":"fa-file-archive-o","standardicon":"\"mod_scorm:assetc\""},{"name":"mod_scorm:asset","icon":"fa-file-archive-o","standardicon":"\"mod_scorm:asset\""},{"name":"mod_scorm:browsed","icon":"fa-book","standardicon":"\"mod_scorm:browsed\""},{"name":"mod_scorm:completed","icon":"fa-check-square-o","standardicon":"\"mod_scorm:completed\""},{"name":"mod_scorm:failed","icon":"fa-times","standardicon":"\"mod_scorm:failed\""},{"name":"mod_scorm:incomplete","icon":"fa-pencil-square-o","standardicon":"\"mod_scorm:incomplete\""},{"name":"mod_scorm:minus","icon":"fa-minus","standardicon":"\"mod_scorm:minus\""},{"name":"mod_scorm:notattempted","icon":"fa-square-o","standardicon":"\"mod_scorm:notattempted\""},{"name":"mod_scorm:passed","icon":"fa-check","standardicon":"\"mod_scorm:passed\""},{"name":"mod_scorm:plus","icon":"fa-plus","standardicon":"\"mod_scorm:plus\""},{"name":"mod_scorm:popdown","icon":"fa-window-close-o","standardicon":"\"mod_scorm:popdown\""},{"name":"mod_scorm:popup","icon":"fa-window-restore","standardicon":"\"mod_scorm:popup\""},{"name":"mod_scorm:suspend","icon":"fa-pause","standardicon":"\"mod_scorm:suspend\""},{"name":"mod_scorm:wait","icon":"fa-clock-o","standardicon":"\"mod_scorm:wait\""},{"name":"mod_wiki:attachment","icon":"fa-paperclip","standardicon":"\"mod_wiki:attachment\""},{"name":"mod_workshop:userplan\/task-info","icon":"fa-info text-info","standardicon":"\"mod_workshop:userplan\/task-info\""},{"name":"mod_workshop:userplan\/task-todo","icon":"fa-square-o","standardicon":"\"mod_workshop:userplan\/task-todo\""},{"name":"mod_workshop:userplan\/task-done","icon":"fa-check text-success","standardicon":"\"mod_workshop:userplan\/task-done\""},{"name":"mod_workshop:userplan\/task-fail","icon":"fa-remove text-danger","standardicon":"\"mod_workshop:userplan\/task-fail\""},{"name":"customfield_date:checked","icon":"fa-check-square-o","standardicon":"\"customfield_date:checked\""},{"name":"customfield_date:notchecked","icon":"fa-square-o","standardicon":"\"customfield_date:notchecked\""},{"name":"enrol_guest:withpassword","icon":"fa-key","standardicon":"\"enrol_guest:withpassword\""},{"name":"enrol_guest:withoutpassword","icon":"fa-unlock-alt","standardicon":"\"enrol_guest:withoutpassword\""},{"name":"enrol_lti:managedeployments","icon":"fa-sitemap","standardicon":"\"enrol_lti:managedeployments\""},{"name":"enrol_lti:platformdetails","icon":"fa-pencil-square-o","standardicon":"\"enrol_lti:platformdetails\""},{"name":"enrol_lti:enrolinstancewarning","icon":"fa-exclamation-circle text-danger","standardicon":"\"enrol_lti:enrolinstancewarning\""},{"name":"enrol_self:withkey","icon":"fa-key","standardicon":"\"enrol_self:withkey\""},{"name":"enrol_self:withoutkey","icon":"fa-sign-in","standardicon":"\"enrol_self:withoutkey\""},{"name":"block_accessreview:smile","icon":"fa-smile-o","standardicon":"\"block_accessreview:smile\""},{"name":"block_accessreview:frown","icon":"fa-frown-o","standardicon":"\"block_accessreview:frown\""},{"name":"block_accessreview:errorsfound","icon":"fa-ban","standardicon":"\"block_accessreview:errorsfound\""},{"name":"block_accessreview:f\/pdf","icon":"fa-file-pdf-o","standardicon":"\"block_accessreview:f\/pdf\""},{"name":"block_accessreview:f\/video","icon":"fa-file-video-o","standardicon":"\"block_accessreview:f\/video\""},{"name":"block_accessreview:f\/find","icon":"fa-bar-chart","standardicon":"\"block_accessreview:f\/find\""},{"name":"block_accessreview:f\/form","icon":"fa-pencil-square-o","standardicon":"\"block_accessreview:f\/form\""},{"name":"block_accessreview:f\/image","icon":"fa-image","standardicon":"\"block_accessreview:f\/image\""},{"name":"block_accessreview:f\/layout","icon":"fa-th-large","standardicon":"\"block_accessreview:f\/layout\""},{"name":"block_accessreview:f\/link","icon":"fa-link","standardicon":"\"block_accessreview:f\/link\""},{"name":"block_accessreview:f\/media","icon":"fa-play-circle-o","standardicon":"\"block_accessreview:f\/media\""},{"name":"block_accessreview:f\/table","icon":"fa-table","standardicon":"\"block_accessreview:f\/table\""},{"name":"block_accessreview:f\/text","icon":"fa-font","standardicon":"\"block_accessreview:f\/text\""},{"name":"block_accessreview:t\/fail","icon":"fa-ban","standardicon":"\"block_accessreview:t\/fail\""},{"name":"block_accessreview:t\/pass","icon":"fa-check","standardicon":"\"block_accessreview:t\/pass\""},{"name":"gradingform_guide:info","icon":"fa-info-circle","standardicon":"\"gradingform_guide:info\""},{"name":"gradingform_guide:plus","icon":"fa-plus","standardicon":"\"gradingform_guide:plus\""},{"name":"tool_brickfield:f\/award","icon":"fa-tachometer","standardicon":"\"tool_brickfield:f\/award\""},{"name":"tool_brickfield:f\/done","icon":"fa-check-circle-o","standardicon":"\"tool_brickfield:f\/done\""},{"name":"tool_brickfield:f\/done2","icon":"fa-check-square-o","standardicon":"\"tool_brickfield:f\/done2\""},{"name":"tool_brickfield:f\/error","icon":"fa-times-circle-o","standardicon":"\"tool_brickfield:f\/error\""},{"name":"tool_brickfield:f\/find","icon":"fa-bar-chart","standardicon":"\"tool_brickfield:f\/find\""},{"name":"tool_brickfield:f\/total","icon":"fa-calculator","standardicon":"\"tool_brickfield:f\/total\""},{"name":"tool_brickfield:f\/form","icon":"fa-pencil-square-o","standardicon":"\"tool_brickfield:f\/form\""},{"name":"tool_brickfield:f\/image","icon":"fa-image","standardicon":"\"tool_brickfield:f\/image\""},{"name":"tool_brickfield:f\/layout","icon":"fa-th-large","standardicon":"\"tool_brickfield:f\/layout\""},{"name":"tool_brickfield:f\/link","icon":"fa-link","standardicon":"\"tool_brickfield:f\/link\""},{"name":"tool_brickfield:f\/media","icon":"fa-play-circle-o","standardicon":"\"tool_brickfield:f\/media\""},{"name":"tool_brickfield:f\/table","icon":"fa-table","standardicon":"\"tool_brickfield:f\/table\""},{"name":"tool_brickfield:f\/text","icon":"fa-font","standardicon":"\"tool_brickfield:f\/text\""},{"name":"tool_lp:url","icon":"fa-external-link","standardicon":"\"tool_lp:url\""},{"name":"tool_policy:agreed","icon":"fa-check text-success","standardicon":"\"tool_policy:agreed\""},{"name":"tool_policy:declined","icon":"fa-times text-danger","standardicon":"\"tool_policy:declined\""},{"name":"tool_policy:pending","icon":"fa-clock-o text-warning","standardicon":"\"tool_policy:pending\""},{"name":"tool_policy:partial","icon":"fa-exclamation-triangle text-warning","standardicon":"\"tool_policy:partial\""},{"name":"tool_policy:level","icon":"fa-level-up fa-rotate-90 text-muted","standardicon":"\"tool_policy:level\""},{"name":"tool_recyclebin:trash","icon":"fa-trash","standardicon":"\"tool_recyclebin:trash\""},{"name":"tool_usertours:t\/export","icon":"fa-download","standardicon":"\"tool_usertours:t\/export\""},{"name":"tool_usertours:i\/reload","icon":"fa-refresh","standardicon":"\"tool_usertours:i\/reload\""},{"name":"tool_usertours:t\/filler","icon":"fa-spacer","standardicon":"\"tool_usertours:t\/filler\""},{"name":"atto_collapse:icon","icon":"fa-level-down","standardicon":"\"atto_collapse:icon\""},{"name":"atto_recordrtc:i\/audiortc","icon":"fa-microphone","standardicon":"\"atto_recordrtc:i\/audiortc\""},{"name":"atto_recordrtc:i\/videortc","icon":"fa-video-camera","standardicon":"\"atto_recordrtc:i\/videortc\""}] \ No newline at end of file diff --git a/grade/classes/external/get_feedback.php b/grade/classes/external/get_feedback.php new file mode 100644 index 00000000000..388063426cb --- /dev/null +++ b/grade/classes/external/get_feedback.php @@ -0,0 +1,114 @@ +. + +namespace core_grades\external; + +use core_external\external_api; +use core_external\external_function_parameters; +use core_external\external_single_structure; +use core_external\external_value; +use invalid_parameter_exception; + +defined('MOODLE_INTERNAL') || die; + +require_once($CFG->dirroot.'/grade/lib.php'); + +/** + * Web service to fetch students feedback for a grade item. + * + * @package core_grades + * @copyright 2023 Kevin Percy + * @category external + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class get_feedback extends external_api { + + /** + * Returns description of method parameters. + * + * @return external_function_parameters + */ + public static function execute_parameters(): external_function_parameters { + return new external_function_parameters ( + [ + 'courseid' => new external_value(PARAM_INT, 'Course ID', VALUE_REQUIRED), + 'userid' => new external_value(PARAM_INT, 'User ID', VALUE_REQUIRED), + 'itemid' => new external_value(PARAM_INT, 'Grade Item ID', VALUE_REQUIRED) + ] + ); + } + + /** + * Given a user ID and grade item ID, return feedback and user details. + * + * @param int $courseid The course ID. + * @param int $userid + * @param int $itemid + * @return array Feedback and user details + */ + public static function execute(int $courseid, int $userid, int $itemid): array { + global $OUTPUT, $CFG; + + $params = self::validate_parameters( + self::execute_parameters(), + [ + 'courseid' => $courseid, + 'userid' => $userid, + 'itemid' => $itemid + ] + ); + + $context = \context_course::instance($courseid); + parent::validate_context($context); + + require_capability('gradereport/grader:view', $context); + + $gtree = new \grade_tree($params['courseid'], false, false, null, !$CFG->enableoutcomes); + $gradeitem = $gtree->get_item($params['itemid']); + + // If Item ID is not part of Course ID, $gradeitem will be set to false. + if ($gradeitem === false) { + throw new invalid_parameter_exception('Course ID and item ID mismatch'); + } + + $grade = $gradeitem->get_grade($params['userid'], false); + $user = \core_user::get_user($params['userid']); + $extrafields = \core_user\fields::get_identity_fields($context); + + return [ + 'feedbacktext' => $grade->feedback, + 'title' => $gradeitem->get_name(true), + 'fullname' => fullname($user), + 'picture' => $OUTPUT->user_picture($user, ['size' => 35, 'link' => false]), + 'additionalfield' => empty($extrafields) ? '' : $user->{$extrafields[0]}, + ]; + } + + /** + * Describes the return structure. + * + * @return external_single_structure + */ + public static function execute_returns(): external_single_structure { + return new external_single_structure([ + 'feedbacktext' => new external_value(PARAM_RAW, 'The full feedback text'), + 'title' => new external_value(PARAM_TEXT, 'Title of the grade item that the feedback is for'), + 'fullname' => new external_value(PARAM_TEXT, 'Students name'), + 'picture' => new external_value(PARAM_RAW, 'Students picture'), + 'additionalfield' => new external_value(PARAM_TEXT, 'Additional field for the user (email or ID number, for example)'), + ]); + } +} diff --git a/grade/lib.php b/grade/lib.php index 1bfaa0b128b..8efe9b2fc15 100644 --- a/grade/lib.php +++ b/grade/lib.php @@ -2464,6 +2464,12 @@ class grade_structure { if (isset($element['type']) && ($element['type'] == 'category')) { $class = 'category_grade_icons'; } + + if (!empty($grade->feedback) && $grade->load_grade_item()->gradetype != GRADE_TYPE_TEXT) { + $statusicons .= $OUTPUT->pix_icon('i/asterisk', grade_helper::get_lang_string('feedbackprovided', 'grades'), + 'moodle', $attributes); + } + if ($statusicons) { $statusicons = $OUTPUT->container($statusicons, $class); } @@ -2489,6 +2495,8 @@ class grade_structure { $editable = true; if ($element['type'] == 'grade') { + $context->datatype = 'grade'; + $item = $element['object']->grade_item; if ($item->is_course_item() || $item->is_category_item()) { $editable = (bool)get_config('moodle', 'grade_overridecat');; @@ -2595,6 +2603,13 @@ class grade_structure { } else if ($element['type'] == 'userfield') { $context->dataid = $element['name']; } + + if ($element['type'] != 'text' && !empty($element['object']->feedback)) { + $viewfeedbackstring = grade_helper::get_lang_string('viewfeedback', 'grades'); + $context->viewfeedbackurl = html_writer::link('#', $viewfeedbackstring, ['class' => 'dropdown-item', + 'aria-label' => $viewfeedbackstring, 'role' => 'menuitem', 'data-action' => 'feedback', + 'data-courseid' => $this->courseid]); + } } else if ($mode == 'user') { $context->datatype = 'user'; $context = grade_report::get_additional_context($this->context, $this->courseid, $element, $gpr, $mode, $context, true); @@ -2603,7 +2618,8 @@ class grade_structure { if (!empty($USER->editing) || isset($context->gradeanalysisurl) || isset($context->gradesonlyurl) || isset($context->aggregatesonlyurl) || isset($context->fullmodeurl) || isset($context->reporturl0) - || isset($context->ascendingfirstnameurl) || isset($context->ascendingurl) || ($mode == 'setup')) { + || isset($context->ascendingfirstnameurl) || isset($context->ascendingurl) + || isset($context->viewfeedbackurl) || ($mode == 'setup')) { return $OUTPUT->render_from_template('core_grades/cellmenu', $context); } return ''; diff --git a/grade/report/grader/amd/build/feedback_modal.min.js b/grade/report/grader/amd/build/feedback_modal.min.js new file mode 100644 index 00000000000..ffa35e00e01 --- /dev/null +++ b/grade/report/grader/amd/build/feedback_modal.min.js @@ -0,0 +1,10 @@ +define("gradereport_grader/feedback_modal",["exports","core/modal_factory","core/ajax","core/templates"],(function(_exports,_modal_factory,_ajax,_templates){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}} +/** + * Javascript module for displaying feedback in a modal window + * + * @module gradereport_grader/feedback_modal + * @copyright 2023 Kevin Percy + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=void 0,_modal_factory=_interopRequireDefault(_modal_factory),_ajax=_interopRequireDefault(_ajax),_templates=_interopRequireDefault(_templates);const Selectors_showFeedback='[data-action="feedback"]',fetchFeedback=(courseid,userid,itemid)=>{const request={methodname:"core_grades_get_feedback",args:{courseid:courseid,userid:userid,itemid:itemid}};return _ajax.default.call([request])[0]},registerEventListeners=()=>{document.addEventListener("click",(e=>{const showFeedbackTrigger=e.target.closest(Selectors_showFeedback);if(showFeedbackTrigger){e.preventDefault();(async(courseid,userid,itemid)=>{const feedbackData=await fetchFeedback(courseid,userid,itemid);_modal_factory.default.create({removeOnClose:!0,large:!0}).then((modal=>{const body=_templates.default.render("core_grades/feedback_modal",{feedbacktext:feedbackData.feedbacktext,user:{picture:feedbackData.picture,fullname:feedbackData.fullname,additionalfield:feedbackData.additionalfield}});return modal.setBody(body),modal.setTitle(feedbackData.title),modal.show(),modal}))})(showFeedbackTrigger.dataset.courseid,e.target.closest("tr").dataset.uid,e.target.closest("td").dataset.itemid)}}))};_exports.init=()=>{registerEventListeners()}})); + +//# sourceMappingURL=feedback_modal.min.js.map \ No newline at end of file diff --git a/grade/report/grader/amd/build/feedback_modal.min.js.map b/grade/report/grader/amd/build/feedback_modal.min.js.map new file mode 100644 index 00000000000..d5624eef26d --- /dev/null +++ b/grade/report/grader/amd/build/feedback_modal.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"feedback_modal.min.js","sources":["../src/feedback_modal.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see .\n\n/**\n * Javascript module for displaying feedback in a modal window\n *\n * @module gradereport_grader/feedback_modal\n * @copyright 2023 Kevin Percy \n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\nimport ModalFactory from 'core/modal_factory';\nimport ajax from 'core/ajax';\nimport Templates from 'core/templates';\n\nconst Selectors = {\n showFeedback: '[data-action=\"feedback\"]'\n};\n\n/**\n * Create the modal to display the feedback.\n *\n * @param {int} courseid\n * @param {int} userid\n * @param {int} itemid\n * @returns {Promise}\n */\nconst getModal = async(courseid, userid, itemid) => {\n const feedbackData = await fetchFeedback(courseid, userid, itemid);\n\n return ModalFactory.create({\n removeOnClose: true,\n large: true\n })\n .then(modal => {\n const body = Templates.render('core_grades/feedback_modal', {\n feedbacktext: feedbackData.feedbacktext,\n user: {\n picture: feedbackData.picture,\n fullname: feedbackData.fullname,\n additionalfield: feedbackData.additionalfield,\n },\n });\n\n modal.setBody(body);\n modal.setTitle(feedbackData.title);\n modal.show();\n\n return modal;\n });\n};\n\n/**\n * Fetch the feedback data.\n *\n * @param {int} courseid\n * @param {int} userid\n * @param {int} itemid\n * @returns {Promise}\n */\nconst fetchFeedback = (courseid, userid, itemid) => {\n const request = {\n methodname: 'core_grades_get_feedback',\n args: {\n courseid: courseid,\n userid: userid,\n itemid: itemid,\n },\n };\n return ajax.call([request])[0];\n};\n\n/**\n * Register event listeners for the View Feedback links.\n */\nconst registerEventListeners = () => {\n document.addEventListener('click', e => {\n const showFeedbackTrigger = e.target.closest(Selectors.showFeedback);\n if (showFeedbackTrigger) {\n e.preventDefault();\n\n const courseid = showFeedbackTrigger.dataset.courseid;\n const userid = e.target.closest('tr').dataset.uid;\n const itemid = e.target.closest('td').dataset.itemid;\n\n getModal(courseid, userid, itemid);\n }\n });\n};\n\n/**\n * Initialize module\n */\nexport const init = () => {\n registerEventListeners();\n};\n"],"names":["Selectors","fetchFeedback","courseid","userid","itemid","request","methodname","args","ajax","call","registerEventListeners","document","addEventListener","e","showFeedbackTrigger","target","closest","preventDefault","async","feedbackData","ModalFactory","create","removeOnClose","large","then","modal","body","Templates","render","feedbacktext","user","picture","fullname","additionalfield","setBody","setTitle","title","show","getModal","dataset","uid"],"mappings":";;;;;;;gOA0BMA,uBACY,2BA4CZC,cAAgB,CAACC,SAAUC,OAAQC,gBAC/BC,QAAU,CACZC,WAAY,2BACZC,KAAM,CACFL,SAAUA,SACVC,OAAQA,OACRC,OAAQA,gBAGTI,cAAKC,KAAK,CAACJ,UAAU,IAM1BK,uBAAyB,KAC3BC,SAASC,iBAAiB,SAASC,UACzBC,oBAAsBD,EAAEE,OAAOC,QAAQhB,2BACzCc,oBAAqB,CACrBD,EAAEI,iBApDGC,OAAMhB,SAAUC,OAAQC,gBAC/Be,mBAAqBlB,cAAcC,SAAUC,OAAQC,QAEpDgB,uBAAaC,OAAO,CACvBC,eAAe,EACfC,OAAO,IAEVC,MAAKC,cACIC,KAAOC,mBAAUC,OAAO,6BAA8B,CACxDC,aAAcV,aAAaU,aAC3BC,KAAM,CACFC,QAASZ,aAAaY,QACtBC,SAAUb,aAAaa,SACvBC,gBAAiBd,aAAac,0BAItCR,MAAMS,QAAQR,MACdD,MAAMU,SAAShB,aAAaiB,OAC5BX,MAAMY,OAECZ,UAqCHa,CAJiBxB,oBAAoByB,QAAQrC,SAC9BW,EAAEE,OAAOC,QAAQ,MAAMuB,QAAQC,IAC/B3B,EAAEE,OAAOC,QAAQ,MAAMuB,QAAQnC,2BAUtC,KAChBM"} \ No newline at end of file diff --git a/grade/report/grader/amd/src/feedback_modal.js b/grade/report/grader/amd/src/feedback_modal.js new file mode 100644 index 00000000000..ea501bf8016 --- /dev/null +++ b/grade/report/grader/amd/src/feedback_modal.js @@ -0,0 +1,107 @@ +// This file is part of Moodle - http://moodle.org/ +// +// Moodle is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Moodle is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Moodle. If not, see . + +/** + * Javascript module for displaying feedback in a modal window + * + * @module gradereport_grader/feedback_modal + * @copyright 2023 Kevin Percy + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +import ModalFactory from 'core/modal_factory'; +import ajax from 'core/ajax'; +import Templates from 'core/templates'; + +const Selectors = { + showFeedback: '[data-action="feedback"]' +}; + +/** + * Create the modal to display the feedback. + * + * @param {int} courseid + * @param {int} userid + * @param {int} itemid + * @returns {Promise} + */ +const getModal = async(courseid, userid, itemid) => { + const feedbackData = await fetchFeedback(courseid, userid, itemid); + + return ModalFactory.create({ + removeOnClose: true, + large: true + }) + .then(modal => { + const body = Templates.render('core_grades/feedback_modal', { + feedbacktext: feedbackData.feedbacktext, + user: { + picture: feedbackData.picture, + fullname: feedbackData.fullname, + additionalfield: feedbackData.additionalfield, + }, + }); + + modal.setBody(body); + modal.setTitle(feedbackData.title); + modal.show(); + + return modal; + }); +}; + +/** + * Fetch the feedback data. + * + * @param {int} courseid + * @param {int} userid + * @param {int} itemid + * @returns {Promise} + */ +const fetchFeedback = (courseid, userid, itemid) => { + const request = { + methodname: 'core_grades_get_feedback', + args: { + courseid: courseid, + userid: userid, + itemid: itemid, + }, + }; + return ajax.call([request])[0]; +}; + +/** + * Register event listeners for the View Feedback links. + */ +const registerEventListeners = () => { + document.addEventListener('click', e => { + const showFeedbackTrigger = e.target.closest(Selectors.showFeedback); + if (showFeedbackTrigger) { + e.preventDefault(); + + const courseid = showFeedbackTrigger.dataset.courseid; + const userid = e.target.closest('tr').dataset.uid; + const itemid = e.target.closest('td').dataset.itemid; + + getModal(courseid, userid, itemid); + } + }); +}; + +/** + * Initialize module + */ +export const init = () => { + registerEventListeners(); +}; diff --git a/grade/report/grader/index.php b/grade/report/grader/index.php index 28dfcc12c62..7cc86d1e31e 100644 --- a/grade/report/grader/index.php +++ b/grade/report/grader/index.php @@ -50,6 +50,7 @@ $PAGE->set_url(new moodle_url('/grade/report/grader/index.php', array('id'=>$cou $PAGE->set_pagelayout('report'); $PAGE->requires->js_call_amd('gradereport_grader/stickycolspan', 'init'); $PAGE->requires->js_call_amd('gradereport_grader/search', 'init'); +$PAGE->requires->js_call_amd('gradereport_grader/feedback_modal', 'init'); // basic access checks if (!$course = $DB->get_record('course', array('id' => $courseid))) { diff --git a/grade/report/grader/lib.php b/grade/report/grader/lib.php index 6343f546911..c538f2856e2 100644 --- a/grade/report/grader/lib.php +++ b/grade/report/grader/lib.php @@ -1117,7 +1117,12 @@ class grade_report_grader extends grade_report { } } - if (!$item->needsupdate) { + if ($item->gradetype == GRADE_TYPE_TEXT && !empty($grade->feedback)) { + $context->text = html_writer::span(shorten_text(strip_tags($grade->feedback), 20), '', + ['data-action' => 'feedback', 'role' => 'button', 'data-courseid' => $this->courseid]); + } + + if (!$item->needsupdate && !($item->gradetype == GRADE_TYPE_TEXT && empty($USER->editing))) { $context->actionmenu = $this->gtree->get_cell_action_menu($element, 'gradeitem', $this->gpr); } diff --git a/grade/templates/cellmenu.mustache b/grade/templates/cellmenu.mustache index ce325154c8b..60af887a466 100644 --- a/grade/templates/cellmenu.mustache +++ b/grade/templates/cellmenu.mustache @@ -30,6 +30,7 @@ "descendingfirstnameurl": "Descending", "ascendinglastnameurl": "Ascending", "descendinglastnameurl": "Descending", + "viewfeedbackurl": "View feedback", "divider1": "true", "divider2": "true", "datatype": "item", @@ -78,6 +79,7 @@ {{#hideurl}}{{{hideurl}}}{{/hideurl}} {{#lockurl}}{{{lockurl}}}{{/lockurl}} {{#resetweightsurl}}{{{resetweightsurl}}}{{/resetweightsurl}} + {{#viewfeedbackurl}}{{{viewfeedbackurl}}}{{/viewfeedbackurl}} diff --git a/grade/templates/feedback_modal.mustache b/grade/templates/feedback_modal.mustache new file mode 100644 index 00000000000..d5c5615e398 --- /dev/null +++ b/grade/templates/feedback_modal.mustache @@ -0,0 +1,64 @@ +{{! + This file is part of Moodle - http://moodle.org/ + + Moodle is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Moodle is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Moodle. If not, see . +}} +{{! + @template core_grades/feedback_modal + + The body of the modal displayed when viewing feedback for a grade item. + + Context variables required for this template: + * feedbacktext - The full text of the feedback. + * user - Object containing information about the student. + * picture - The image corresponding to the user. + * fullname - The users full name. + * additionalfield - Additional text displayed below the users full name (e.g. the users email address) + + Example context (json): + { + "feedbacktext": "

Example feedback text

", + "user": { + "picture": "\"\"", + "fullname": "John Doe", + "additionalfield": "johndoe@example.com" + } + } +}} + +{{#user}} +
+
+ {{#picture}} + {{{picture}}} + {{/picture}} + {{^picture}} + + {{/picture}} +
+
+ + {{fullname}} + + {{#additionalfield}} + + {{additionalfield}} + + {{/additionalfield}} +
+
+{{/user}} +
+ {{{feedbacktext}}} +
diff --git a/grade/tests/behat/behat_grades.php b/grade/tests/behat/behat_grades.php index a9b64aeadc7..3790d0192b3 100644 --- a/grade/tests/behat/behat_grades.php +++ b/grade/tests/behat/behat_grades.php @@ -38,6 +38,10 @@ class behat_grades extends behat_base { 'initials bar', [".//*[contains(concat(' ', @class, ' '), ' initialbar ')]//span[contains(., %locator%)]/parent::div"] ), + new behat_component_named_selector( + 'grade_actions', + ["//td[count(//table[@id='user-grades']//th[contains(., %locator%)]/preceding-sibling::th)]//*[@data-type='grade']"] + ), ]; } diff --git a/grade/tests/behat/grade_feedback.feature b/grade/tests/behat/grade_feedback.feature new file mode 100644 index 00000000000..161758bad7a --- /dev/null +++ b/grade/tests/behat/grade_feedback.feature @@ -0,0 +1,69 @@ +@gradereport @gradereport_grader @javascript +Feature: Display feedback on the Grader report + In order to check the expected results are displayed + As a teacher + I need to see the feedback information in a modal + + Background: + Given the following "courses" exist: + | fullname | shortname | + | Course 1 | C1 | + And the following "users" exist: + | username | firstname | lastname | email | + | teacher1 | Teacher | 1 | teacher1@example.com | + | student1 | Student | 1 | student1@example.com | + | student2 | Student | 2 | student2@example.com | + And the following "course enrolments" exist: + | user | course | role | + | teacher1 | C1 | editingteacher | + | student1 | C1 | student | + | student2 | C1 | student | + And the following "activities" exist: + | activity | course | section | name | intro | assignfeedback_comments_enabled | + | assign | C1 | 1 | Test assignment name 1 | Submit your online text | 1 | + | assign | C1 | 1 | Test assignment name 2 | submit your online text | 1 | + And the following "mod_assign > submissions" exist: + | assign | user | onlinetext | + | Test assignment name 1 | student1 | This is a submission for assignment 1 | + | Test assignment name 2 | student1 | This is a submission for assignment 2 | + And the following "grade items" exist: + | itemname | course | gradetype | itemtype | + | Grade item 1 | C1 | text | manual | + And the following "grade grades" exist: + | gradeitem | user | grade | feedback | + | Grade item 1 | student1 | | Longer feedback text content | + And I log in as "teacher1" + And I am on the "Test assignment name 1" "assign activity" page + And I follow "View all submissions" + And I click on "Grade" "link" in the "Student 1" "table_row" + And I set the following fields to these values: + | Grade out of 100 | 50 | + | Feedback comments | This is feedback | + And I press "Save changes" + + Scenario: View the feedback icon on the Grader report + Given I am on "Course 1" course homepage + When I navigate to "View > Grader report" in the course gradebook + Then I should see "Test assignment name 1" + And I should see "Test assignment name 2" + And "Feedback provided" "icon" should exist in the "Student 1" "table_row" + And "Feedback provided" "icon" should not exist in the "Student 2" "table_row" + + Scenario: View the feedback modal from the action menu + Given I am on "Course 1" course homepage + And I navigate to "View > Grader report" in the course gradebook + And I click on "Test assignment name 1" "core_grades > grade_actions" in the "Student 1" "table_row" + When I choose "View feedback" in the open action menu + Then I should see "This is feedback" in the "Test assignment name 1" "dialogue" + + Scenario: View the feedback text for text only grade + Given I am on "Course 1" course homepage + When I navigate to "View > Grader report" in the course gradebook + Then I should see "Grade item 1" + And "Longer feedback ..." "text" should exist in the "Student 1" "table_row" + + Scenario: View the feedback modal for text only grade + Given I am on "Course 1" course homepage + And I navigate to "View > Grader report" in the course gradebook + When I click on "Longer feedback ..." "text" in the "Student 1" "table_row" + Then I should see "Longer feedback text content" in the "Grade item 1" "dialogue" diff --git a/grade/tests/external/get_feedback_test.php b/grade/tests/external/get_feedback_test.php new file mode 100644 index 00000000000..b0180301eb4 --- /dev/null +++ b/grade/tests/external/get_feedback_test.php @@ -0,0 +1,179 @@ +. + +namespace core_grades\external; + +defined('MOODLE_INTERNAL') || die; + +global $CFG; + +require_once($CFG->dirroot . '/webservice/tests/helpers.php'); + +/** + * Unit tests for the core_grades\external\get_feedback webservice. + * + * @package core_grades + * @category external + * @copyright 2023 Kevin Percy + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + * @since Moodle 4.2 + */ +class get_feedback_test extends \externallib_advanced_testcase { + + /** + * Test get_feedback. + * + * @covers ::get_feedback + * @dataProvider get_feedback_provider + * @param string|null $feedback The feedback text added for the grade item. + * @param array $expected The expected feedback data. + * @return void + */ + public function test_get_feedback(?string $feedback, array $expected) { + + $this->resetAfterTest(true); + $course = $this->getDataGenerator()->create_course(); + $user = $this->getDataGenerator()->create_user(['firstname' => 'John', 'lastname' => 'Doe', + 'email' => 'johndoe@example.com']); + $this->getDataGenerator()->enrol_user($user->id, $course->id); + $gradeitem = $this->getDataGenerator()->create_grade_item(['itemname' => 'Grade item 1', + 'courseid' => $course->id]); + + $gradegradedata = [ + 'itemid' => $gradeitem->id, + 'userid' => $user->id, + ]; + + if ($feedback) { + $gradegradedata['feedback'] = $feedback; + } + + $this->getDataGenerator()->create_grade_grade($gradegradedata); + $this->setAdminUser(); + + $feedbackdata = get_feedback::execute($course->id, $user->id, $gradeitem->id); + + $this->assertEquals($expected['feedbacktext'], $feedbackdata['feedbacktext']); + $this->assertEquals($expected['title'], $feedbackdata['title']); + $this->assertEquals($expected['fullname'], $feedbackdata['fullname']); + $this->assertEquals($expected['additionalfield'], $feedbackdata['additionalfield']); + } + + /** + * Data provider for test_get_feedback(). + * + * @return array + */ + public function get_feedback_provider(): array { + return [ + 'Return when feedback is set.' => [ + 'Test feedback', + [ + 'feedbacktext' => 'Test feedback', + 'title' => 'Grade item 1', + 'fullname' => 'John Doe', + 'additionalfield' => 'johndoe@example.com' + ] + ], + 'Return when feedback is not set.' => [ + null, + [ + 'feedbacktext' => null, + 'title' => 'Grade item 1', + 'fullname' => 'John Doe', + 'additionalfield' => 'johndoe@example.com' + ] + ] + ]; + } + + /** + * Test get_feedback with invalid requests. + * + * @covers ::get_feedback + * @dataProvider get_feedback_invalid_request_provider + * @param string $loggeduserrole The role of the logged user. + * @param bool $feedbacknotincourse Whether to request a feedback for a grade item which is not a part of the course. + * @param array $expectedexception The expected exception. + * @return void + */ + public function test_get_feedback_invalid_request(string $loggeduserrole, bool $feedbacknotincourse, + array $expectedexception = []) { + + $this->resetAfterTest(true); + // Create a course with a user and a grade item. + $course = $this->getDataGenerator()->create_course(); + $user = $this->getDataGenerator()->create_user(); + $this->getDataGenerator()->enrol_user($user->id, $course->id); + $gradeitem = $this->getDataGenerator()->create_grade_item(['courseid' => $course->id]); + // Add feedback for the grade item in course. + $gradegradedata = [ + 'itemid' => $gradeitem->id, + 'userid' => $user->id, + 'feedback' => 'Test feedback', + ]; + + $this->getDataGenerator()->create_grade_grade($gradegradedata); + // Set the current user as specified. + if ($loggeduserrole === 'user') { + $this->setUser($user); + } else if ($loggeduserrole === 'guest') { + $this->setGuestUser(); + } else { + $this->setAdminUser(); + } + + if ($feedbacknotincourse) { // Create a new course which will be later used in the feedback request call. + $course = $this->getDataGenerator()->create_course(); + } + + $this->expectException($expectedexception['exceptionclass']); + + if (!empty($expectedexception['exceptionmessage'])) { + $this->expectExceptionMessage($expectedexception['exceptionmessage']); + } + + get_feedback::execute($course->id, $user->id, $gradeitem->id); + } + + /** + * Data provider for test_get_feedback_invalid_request(). + * + * @return array + */ + public function get_feedback_invalid_request_provider(): array { + return [ + 'Logged user does not have permissions to view feedback.' => [ + 'user', + false, + ['exceptionclass' => \required_capability_exception::class] + ], + 'Guest user cannot view feedback.' => [ + 'guest', + false, + ['exceptionclass' => \require_login_exception::class] + ], + 'Request feedback for a grade item which is not a part of the course.' => [ + 'admin', + true, + [ + 'exceptionclass' => \invalid_parameter_exception::class, + 'exceptionmessage' => 'Course ID and item ID mismatch', + ] + ] + ]; + } +} diff --git a/lang/en/grades.php b/lang/en/grades.php index dce54c4f27e..52931db6a2a 100644 --- a/lang/en/grades.php +++ b/lang/en/grades.php @@ -232,6 +232,7 @@ $string['feedbackedit'] = 'Edit feedback'; $string['feedbackfiles'] = 'Feedback files'; $string['feedbackforgradeitems'] = 'Feedback for {$a}'; $string['feedbackhistoryfiles'] = 'Feedback history files'; +$string['feedbackprovided'] = 'Feedback provided'; $string['feedbacks'] = 'Feedbacks'; $string['feedbacksaved'] = 'Feedback saved'; $string['feedbackview'] = 'View feedback'; @@ -865,6 +866,7 @@ $string['verbosescales'] = 'Verbose scales'; $string['verbosescales_help'] = 'A verbose scale uses words rather than numbers. Set to \'Yes\' if both numerical and verbose scales are to be imported. Set to \'No\' if only numerical scales are to be imported.'; $string['viewas'] = 'View report as'; $string['viewbygroup'] = 'Group'; +$string['viewfeedback'] = 'View feedback'; $string['viewgrades'] = 'View grades'; $string['weight'] = 'weight'; $string['weight_help'] = 'A value used to determine the relative value of multiple grade items in a category or course.'; diff --git a/lib/classes/output/icon_system_fontawesome.php b/lib/classes/output/icon_system_fontawesome.php index 7e42778d0f3..5fc08899f8d 100644 --- a/lib/classes/output/icon_system_fontawesome.php +++ b/lib/classes/output/icon_system_fontawesome.php @@ -195,6 +195,7 @@ class icon_system_fontawesome extends icon_system_font { 'theme:fp/view_tree_active' => 'fa-folder', 'core:i/addblock' => 'fa-plus-square', 'core:i/assignroles' => 'fa-user-plus', + 'core:i/asterisk' => 'fa-asterisk', 'core:i/backup' => 'fa-file-zip-o', 'core:i/badge' => 'fa-shield', 'core:i/breadcrumbdivider' => 'fa-angle-right', diff --git a/lib/db/services.php b/lib/db/services.php index be5f79db0e4..d9a020b6858 100644 --- a/lib/db/services.php +++ b/lib/db/services.php @@ -995,6 +995,12 @@ $functions = array( 'ajax' => true, 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE], ], + 'core_grades_get_feedback' => [ + 'classname' => 'core_grades\external\get_feedback', + 'description' => 'Get the feedback data for a grade item', + 'type' => 'read', + 'ajax' => true, + ], 'core_grading_get_definitions' => array( 'classname' => 'core_grading_external', 'methodname' => 'get_definitions', diff --git a/pix/i/asterisk.png b/pix/i/asterisk.png new file mode 100644 index 00000000000..51f016e4f31 Binary files /dev/null and b/pix/i/asterisk.png differ diff --git a/pix/i/asterisk.svg b/pix/i/asterisk.svg new file mode 100644 index 00000000000..7f99cdcdc65 --- /dev/null +++ b/pix/i/asterisk.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file