{"version":3,"sources":["webpack:///./packages/jqueryui/progressbar.js","webpack:///./ui/shared/util/jquery/fixDialogButtons.js","webpack:///./node_modules/@instructure/ui-utils/es/parseUnit.js","webpack:///./ui/shared/user-settings/index.js","webpack:///./ui/shared/loading-image/jquery/index.js","webpack:///./public/javascripts/translations/eportfolio.js","webpack:///./ui/shims/dummyI18nResource.js?f9ba","webpack:///./ui/features/eportfolio/react/MoveToDialog.js","webpack:///./ui/features/eportfolio/jquery/eportfolio_section.js","webpack:///./ui/features/eportfolio/jquery/index.js","webpack:///./packages/sanitize-html-with-tinymce/index.js"],"names":["widget","version","options","value","max","min","_create","this","element","addClass","attr","role","_value","valueDiv","appendTo","oldValue","_refreshValue","_destroy","removeClass","removeAttr","remove","newValue","undefined","_setOption","key","_trigger","_super","val","Math","_percentage","percentage","toggle","toggleClass","width","toFixed","$","fn","fixDialogButtons","each","$dialog","$buttons","find","length","hide","buttons","map","toArray","button","$button","classes","id","is","off","on","preventDefault","dialog","prop","form","text","data","click","class","_","sortBy","match","parseUnit","str","concat","parseFloat","userSettings","globalEnv","window","ENV","addTokens","method","tokens","stringifiedValue","JSON","stringify","joinedTokens","token","join","res","localStorage","parse","_ex","forEach","capitalize","loadingImg","dir","getComputedStyle","direction","$obj","filter","list","children","item","css","img","pop","arguments","image_files","extend","defaults","image","normal","image_size","paddingTop","vertical","outerHeight","height","parseInt","isNaN","paddingLeft","horizontal","outerWidth","zIndex","$imageHolder","document","createElement","$image","url","append","push","position","top","left","offset","small","loadingImage","mergeI18nTranslations","scoped","MoveToDialog","React","Component","state","isOpen","handleMove","props","onMove","refs","select","handleRequestClose","setState","handleClose","appElement","removeAttribute","triggerElement","focus","onClose","handleReady","setAttribute","renderBody","selectLabel","I18n","t","section","source","label","ref","destinations","dest","render","open","modalSize","header","onOpen","onDismiss","Body","Footer","Button","onClick","variant","fetchContent","$section","section_type","name","editorContent","html","getTemplateData","textValues","submission_id","attachment_id","RichContentEditor","preloadRemoteModule","ePortfolioValidations","object_name","property_validations","trim","ePortfolioFormData","getFormData","values","idx","hasClass","sectionContent","section_count","_saveList","parent","prefix","anchor","ids","sortable","valid_ids","substring","order","ajaxJSON","saveSectionList","savePageList","showMoveDialog","dialogLabel","querySelector","modalRoot","ReactDOM","setTimeout","unmountComponentAtNode","ready","event","title","slideToggle","submit","$this","result","validateForm","formSubmit","beforeSubmit","success","sectionData","htmlValues","section_content","edit_type","$edit","clone","show","$richText","loadNewEditor","defaultContent","triggerHandler","change","showIf","$preview","sanitizeHtml","after","callOnRCE","raw","end","destroyRCE","processData","code","eportfolio_entry","allow_comments","slideDown","siblings","andSelf","SECTION_COUNT_IDX","section_type_name","fillTemplateData","scrollTo","parents","confirmDelete","slideUp","handle","helper","axis","start","ui","stop","delegate","$selection","$sectionContent","empty","$frame","screenReaderFlashMessageExclusive","stopPropagation","$message","$upload","file_name","$form","fileUpload","fileUploadOptions","preparedFileUpload","upload_only","singleFile","context_code","folder_id","formDataTarget","uploaded_data","$file","uuid","replaceTags","$download","filename","errorBox","attachment","indexOf","display_name","error","formErrors","errors","keydown","count","target","closest","which","assignment","context","course","entry","content","e","category_slug","slug","location","href","$page","message","blur","instTree","multi","dragdrop","autoclose","overrideEvents","node","hideEditObject","type","$box","$input","saveObject","isSaving","$objs","newName","obj","hrefValues","countObjects","xhr","textStatus","errorThrown","name_message","alert","skipDefaultError","editObject","$name","before","cnt","bind","page_url","rename_page_url","$entry","eportfolio_category_id","$activePage","update","$li","fadeOut","page","otherPages","not","otherPage","insertBefore","insertAfter","keyCode","$wizard_box","setWizardSpacerBoxDisplay","action","pathname","set","ifExists","$wizard_options","maxHeight","overflow","$a","$details","link","fadeIn","get","category","eportfolio_category","$category","$category_select","manage_sections","done_editing","otherSections","otherSection","getElementById","progressbar","errorCount","check","first","req_url","file_state","progress","tinymce","Serializer","serialize","DomParser"],"mappings":"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","file":"eportfolio-c-da1e4ef414.js","sourcesContent":["/*!\n * jQuery UI Progressbar @VERSION\n *\n * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)\n * Dual licensed under the MIT or GPL Version 2 licenses.\n * http://jquery.org/license\n *\n * http://docs.jquery.com/UI/Progressbar\n *\n * Depends:\n * jquery.ui.core.js\n * jquery.ui.widget.js\n */\nimport $ from 'jquery'\nimport './core'\nimport './widget'\n\n$.widget( \"ui.progressbar\", {\n\tversion: \"@VERSION\",\n\toptions: {\n\t\tvalue: 0,\n\t\tmax: 100\n\t},\n\n\tmin: 0,\n\n\t_create: function() {\n\t\tthis.element\n\t\t\t.addClass( \"ui-progressbar ui-widget ui-widget-content ui-corner-all\" )\n\t\t\t.attr({\n\t\t\t\trole: \"progressbar\",\n\t\t\t\t\"aria-valuemin\": this.min,\n\t\t\t\t\"aria-valuemax\": this.options.max,\n\t\t\t\t\"aria-valuenow\": this._value()\n\t\t\t});\n\n\t\tthis.valueDiv = $( \"
\" )\n\t\t\t.appendTo( this.element );\n\n\t\tthis.oldValue = this._value();\n\t\tthis._refreshValue();\n\t},\n\n\t_destroy: function() {\n\t\tthis.element\n\t\t\t.removeClass( \"ui-progressbar ui-widget ui-widget-content ui-corner-all\" )\n\t\t\t.removeAttr( \"role\" )\n\t\t\t.removeAttr( \"aria-valuemin\" )\n\t\t\t.removeAttr( \"aria-valuemax\" )\n\t\t\t.removeAttr( \"aria-valuenow\" );\n\n\t\tthis.valueDiv.remove();\n\t},\n\n\tvalue: function( newValue ) {\n\t\tif ( newValue === undefined ) {\n\t\t\treturn this._value();\n\t\t}\n\n\t\tthis._setOption( \"value\", newValue );\n\t\treturn this;\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"value\" ) {\n\t\t\tthis.options.value = value;\n\t\t\tthis._refreshValue();\n\t\t\tif ( this._value() === this.options.max ) {\n\t\t\t\tthis._trigger( \"complete\" );\n\t\t\t}\n\t\t}\n\n\t\tthis._super( key, value );\n\t},\n\n\t_value: function() {\n\t\tvar val = this.options.value;\n\t\t// normalize invalid value\n\t\tif ( typeof val !== \"number\" ) {\n\t\t\tval = 0;\n\t\t}\n\t\treturn Math.min( this.options.max, Math.max( this.min, val ) );\n\t},\n\n\t_percentage: function() {\n\t\treturn 100 * this._value() / this.options.max;\n\t},\n\n\t_refreshValue: function() {\n\t\tvar value = this.value(),\n\t\t\tpercentage = this._percentage();\n\n\t\tif ( this.oldValue !== value ) {\n\t\t\tthis.oldValue = value;\n\t\t\tthis._trigger( \"change\" );\n\t\t}\n\n\t\tthis.valueDiv\n\t\t\t.toggle( value > this.min )\n\t\t\t.toggleClass( \"ui-corner-right\", value === this.options.max )\n\t\t\t.width( percentage.toFixed(0) + \"%\" );\n\t\tthis.element.attr( \"aria-valuenow\", value );\n\t}\n});\n\n\n","//\n// Copyright (C) 2012 - present Instructure, Inc.\n//\n// This file is part of Canvas.\n//\n// Canvas is free software: you can redistribute it and/or modify it under\n// the terms of the GNU Affero General Public License as published by the Free\n// Software Foundation, version 3 of the License.\n//\n// Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n// A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n// details.\n//\n// You should have received a copy of the GNU Affero General Public License along\n// with this program. If not, see .\n\nimport $ from 'jquery'\nimport _ from 'underscore'\nimport preventDefault from 'prevent-default'\nimport 'jqueryui/dialog'\n\n$.fn.fixDialogButtons = function() {\n return this.each(function() {\n const $dialog = $(this)\n const $buttons = $dialog.find('.button-container:last .btn, button[type=submit]')\n if ($buttons.length) {\n $dialog.find('.button-container:last, button[type=submit]').hide()\n let buttons = $.map($buttons.toArray(), button => {\n const $button = $(button)\n let classes = $button.attr('class') || ''\n const id = $button.attr('id')\n\n // if you add the class 'dialog_closer' to any of the buttons,\n // clicking it will cause the dialog to close\n if ($button.is('.dialog_closer')) {\n $button.off('.fixdialogbuttons')\n $button.on('click.fixdialogbuttons', preventDefault(() => $dialog.dialog('close')))\n }\n\n if ($button.prop('type') === 'submit' && $button[0].form) {\n classes += ' button_type_submit'\n }\n\n return {\n text: $button.text(),\n 'data-text-while-loading': $button.data('textWhileLoading'),\n click: () => $button.click(),\n class: classes,\n id\n }\n })\n // put the primary button(s) on the far right\n buttons = _.sortBy(buttons, button => (button.class.match(/btn-primary/) ? 1 : 0))\n $dialog.dialog('option', 'buttons', buttons)\n }\n })\n}\n","/*\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 - present Instructure, Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * ---\n * category: utilities\n * ---\n * Converts a CSS unit value combination into an array of type [ value, unit ]\n *\n * @module parseUnit\n *\n * Example inputs:\n * - '100px'\n * - '20rem'\n * - '10vh'\n * - '400vmin'\n *\n * @param {string} str\n * @returns {Array} Returns array of shape [ value, unit ]\n*/\nfunction parseUnit(str) {\n var value = \"\".concat(str);\n return [parseFloat(value, 10), // eslint-disable-next-line no-useless-escape\n value.match(/[\\d.\\-\\+]*\\s*(.*)/)[1] || ''];\n}\n\nexport default parseUnit;\nexport { parseUnit };","//\n// Copyright (C) 2012 - present Instructure, Inc.\n//\n// This file is part of Canvas.\n//\n// Canvas is free software: you can redistribute it and/or modify it under\n// the terms of the GNU Affero General Public License as published by the Free\n// Software Foundation, version 3 of the License.\n//\n// Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n// A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n// details.\n//\n// You should have received a copy of the GNU Affero General Public License along\n// with this program. If not, see .\n\n// uses the global ENV.current_user_id and ENV.context_asset_string varibles to store things in\n// localStorage (safe, since we only support ie8+) keyed to the user (and current context)\n//\n// DO NOT PUT SENSITIVE DATA HERE\n//\n// usage:\n//\n// userSettings.set 'favoriteColor', 'red'\n// userSettings.get 'favoriteColor' # => 'red'\n//\n// # when you are on /courses/1/x\n// userSettings.contextSet 'specialIds', [1,2,3]\n// userSettings.contextGet 'specialIds' # => [1,2,3]\n// # when you are on /groups/1/x\n// userSettings.contextGet 'specialIds' # => undefined\n// # back on /courses/1/x\n// userSettings.contextRemove 'specialIds'\n\nimport $ from 'jquery'\nimport '@canvas/jquery/jquery.instructure_misc_helpers'\n\nconst userSettings = {\n globalEnv: window.ENV\n}\n\nfunction addTokens(method, ...tokens) {\n return function(key, value) {\n const stringifiedValue = JSON.stringify(value)\n const joinedTokens = tokens.map(token => userSettings.globalEnv[token]).join('_')\n try {\n const res = localStorage[`${method}Item`](`_${joinedTokens}_${key}`, stringifiedValue)\n if (res === 'undefined') return undefined\n if (res) return JSON.parse(res)\n } catch (_ex) {\n return undefined\n }\n }\n}\n\n;['get', 'set', 'remove'].forEach(method => {\n userSettings[method] = addTokens(method, 'current_user_id')\n userSettings[`context${$.capitalize(method)}`] = addTokens(\n method,\n 'current_user_id',\n 'context_asset_string'\n )\n})\n\nexport default userSettings\n","/*\n * Copyright (C) 2011 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see .\n */\n\nimport $ from 'jquery'\n\n// Shows an ajax-loading image on the given object.\n$.fn.loadingImg = function (options) {\n if (!this || this.length === 0) {\n return this\n }\n const dir = window.getComputedStyle(this[0]).direction || 'ltr'\n\n const $obj = this.filter(':first')\n let list\n if (options === 'hide' || options === 'remove') {\n $obj.children('.loading_image').remove()\n list = $obj.data('loading_images') || []\n list.forEach(item => {\n if (item) {\n item.remove()\n }\n })\n $obj.data('loading_images', null)\n this.css('margin-inline-end', '')\n return this\n } else if (options === 'remove_once') {\n $obj.children('.loading_image').remove()\n list = $obj.data('loading_images') || []\n const img = list.pop()\n if (img) {\n img.remove()\n }\n $obj.data('loading_images', list)\n return this\n } else if (options === 'register_image' && arguments.length === 3) {\n $.fn.loadingImg.image_files[arguments[1]] = arguments[2]\n return this\n }\n options = $.extend({}, $.fn.loadingImg.defaults, options)\n let image = $.fn.loadingImg.image_files.normal\n if (options.image_size && $.fn.loadingImg.image_files[options.image_size]) {\n image = $.fn.loadingImg.image_files[options.image_size]\n }\n if (options.paddingTop) {\n options.vertical = options.paddingTop\n }\n let paddingTop = 0\n if (options.vertical) {\n if (options.vertical === 'top') {\n // nothing to do\n } else if (options.vertical === 'bottom') {\n paddingTop = $obj.outerHeight()\n } else if (options.vertical === 'middle') {\n paddingTop = $obj.outerHeight() / 2 - image.height / 2\n } else {\n paddingTop = parseInt(options.vertical, 10)\n // eslint-disable-next-line no-restricted-globals\n if (isNaN(paddingTop)) {\n paddingTop = 0\n }\n }\n }\n let paddingLeft = 0\n if (options.horizontal) {\n if (options.horizontal === 'left') {\n // nothing to do\n } else if (options.horizontal === 'right') {\n paddingLeft = $obj.outerWidth() - image.width\n } else if (options.horizontal === 'right!') {\n paddingLeft = dir === 'ltr' ? $obj.outerWidth() + 5 : -5 - (image.width || 16)\n this.css({'margin-inline-end': '16px'})\n } else if (options.horizontal === 'middle') {\n paddingLeft = $obj.outerWidth() / 2 - image.width / 2\n } else {\n paddingLeft = parseInt(options.horizontal, 10)\n // eslint-disable-next-line no-restricted-globals\n if (isNaN(paddingLeft)) {\n paddingLeft = 0\n }\n }\n }\n const zIndex = $obj.zIndex() + 1\n const $imageHolder = $(document.createElement('div')).addClass('loading_image_holder')\n const $image = $(document.createElement('img')).attr('src', image.url)\n $imageHolder.append($image)\n list = $obj.data('loading_images') || []\n list.push($imageHolder)\n $obj.data('loading_images', list)\n\n if (!$obj.css('position') || $obj.css('position') === 'static') {\n const offset = $obj.offset()\n let top = offset.top,\n left = offset.left\n if (options.vertical) {\n top += paddingTop\n }\n if (options.horizontal) {\n left += paddingLeft\n }\n $imageHolder.css({\n zIndex,\n position: 'absolute',\n top,\n left\n })\n $('body').append($imageHolder)\n } else {\n $imageHolder.css({\n zIndex,\n position: 'absolute',\n top: paddingTop,\n left: paddingLeft\n })\n $obj.append($imageHolder)\n }\n return $(this)\n}\n$.fn.loadingImg.defaults = {paddingTop: 0, image_size: 'normal', vertical: 0, horizontal: 0}\n$.fn.loadingImg.image_files = {\n normal: {url: '/images/ajax-loader.gif', width: 32, height: 32},\n small: {url: '/images/ajax-loader-small.gif', width: 16, height: 16}\n}\n$.fn.loadingImage = $.fn.loadingImg\n","// this file was auto-generated by rake i18n:generate_js.\n// you probably shouldn't edit it directly\nimport mergeI18nTranslations from '@canvas/i18n/mergeI18nTranslations.js';\n\n// we use JSON.parse here instead of just loading it as a javascript object literal\n// because according to https://v8.dev/blog/cost-of-javascript-2019#json that is faster\nmergeI18nTranslations(JSON.parse(\"{\\\"ar\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- في الأسفل --\\\",\\\"cancel_caeb1e68\\\":\\\"إلغاء\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"انقر للتحرير، وقم بالسحب لإعادة الترتيب\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"تم التحرير\\\",\\\"manage_sections\\\":\\\"إدارة الأقسام\\\"},\\\"confirm_delete_message\\\":\\\"هل ترغب بالتأكيد في حذف هذه الرسالة؟\\\",\\\"confirm_delete_page\\\":\\\"هل ترغب في حذف هذه الصفحة وكل محتوياتها؟\\\",\\\"confirm_delete_section\\\":\\\"هل ترغب في حذف هذا القسم وكل صفحاته؟\\\",\\\"default_description\\\":\\\"هذا هو إرسال %{assignment} الخاص بـ %{course}.\\\",\\\"eportfolio_settings\\\":\\\"إعدادات ePortfolio\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"حدث خطأ أثناء تجميع eportfolio الخاصة بك. يرجى المحاولة من جديد بعد قليل.\\\",\\\"missing_file\\\":\\\"الرجاء تحديد ملف\\\",\\\"name_required\\\":\\\"الاسم مطلوب\\\",\\\"name_too_long\\\":\\\"الاسم طويل للغاية\\\",\\\"section_name_invalid\\\":\\\"اسم القسم غير صالح\\\",\\\"section_name_too_long\\\":\\\"اسم القسم طويل للغاية\\\",\\\"upload_failed\\\":\\\"فشل التحميل.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"إضافة صفحة للإرسال\\\",\\\"download_eportfolio\\\":\\\"تنزيل ePortfolio\\\",\\\"section_list\\\":\\\"قم بالسحب للترتيب، انقر للتحرير\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"تحميل صورة/ملف\\\",\\\"html\\\":\\\"محتوى HTML/مضمَن\\\",\\\"rich_text\\\":\\\"محتوى Rich Text\\\",\\\"submission\\\":\\\"إرسال المساق\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"تجميع موارد ePortfolio. قد يستغرق ذلك بعض الوقت إذا كان لديك العديد من الملفات في ePortfolio.\\\"}}},\\\"move_abf00365\\\":\\\"نقل\\\",\\\"move_page_e25b123d\\\":\\\"تحريك الصفحة\\\",\\\"move_section_d3866941\\\":\\\"تحريك قسم\\\",\\\"place_section_before_5b45714e\\\":\\\"وضع \\\\\\\"%{section}\\\\\\\" قبل:\\\",\\\"settings_for_title_d3ca495\\\":\\\"الإعدادات الخاصة بـ %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"تمت إضافة إرسال %{title}\\\"},\\\"ca\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- Al final --\\\",\\\"cancel_caeb1e68\\\":\\\"Cancel·la\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Feu clic per editar, arrossegar o reordenar\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Edició acabada\\\",\\\"manage_sections\\\":\\\"Administra les secciones\\\"},\\\"confirm_delete_message\\\":\\\"Segur que voleu suprimir aquest missatge?\\\",\\\"confirm_delete_page\\\":\\\"Voleu suprimir aquesta pàgina i tot el seu contingut?\\\",\\\"confirm_delete_section\\\":\\\"Voleu suprimir aquesta secció i totes les seves pàgines?\\\",\\\"default_description\\\":\\\"Aquesta és la meva entrega de %{assignment} per a %{course}.\\\",\\\"eportfolio_settings\\\":\\\"Configuració de l'ePortfolio\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"S'ha produït un error en compilar el vostre ePortfolio. Torneu-ho a provar d'aquí a una estona.\\\",\\\"missing_file\\\":\\\"Seleccioneu un fitxer\\\",\\\"name_required\\\":\\\"El nom és obligatori\\\",\\\"name_too_long\\\":\\\"El nom és massa llarg\\\",\\\"section_name_invalid\\\":\\\"El nom de la secció no és vàlid\\\",\\\"section_name_too_long\\\":\\\"El nom de la secció és massa llarg\\\",\\\"upload_failed\\\":\\\"La carrega ha fallat.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Afegeix una pàgina per a l'entrega\\\",\\\"download_eportfolio\\\":\\\"Baixa l'ePortfolio\\\",\\\"section_list\\\":\\\"Arrossegueu per ordenar, feu clic per editar\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Càrrega d'imatge/fitxer\\\",\\\"html\\\":\\\"Contingut incrustat/HTML\\\",\\\"rich_text\\\":\\\"Contingut de text enriquit\\\",\\\"submission\\\":\\\"Entrega del curs\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"S'estan recopilant els recursos de l'ePortfolio, pot ser que trigui una estona si teniu molts fitxers a l'ePortfolio.\\\"}}},\\\"move_abf00365\\\":\\\"Desplaça\\\",\\\"move_page_e25b123d\\\":\\\"Desplaça la pàgina\\\",\\\"move_section_d3866941\\\":\\\"Desplaça la secció\\\",\\\"place_section_before_5b45714e\\\":\\\"Col·loca \\\\\\\"%{section}\\\\\\\" abans:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Configuració de %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"entrega afegida: %{title}\\\"},\\\"cy\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- Ar y gwaelod --\\\",\\\"cancel_caeb1e68\\\":\\\"Canslo\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Cliciwch i olygu, a llusgo i aildrefnu\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Wedi gorffen golygu\\\",\\\"manage_sections\\\":\\\"Rheoli Adrannau\\\"},\\\"confirm_delete_message\\\":\\\"Ydych chi’n siŵr eich bod am ddileu’r neges hon?\\\",\\\"confirm_delete_page\\\":\\\"Dileu’r dudalen hon a’i holl gynnwys?\\\",\\\"confirm_delete_section\\\":\\\"Dileu’r adran hon a’i holl dudalennau?\\\",\\\"default_description\\\":\\\"Dyma fy ngwaith %{assignment} ar gyfer %{course}.\\\",\\\"eportfolio_settings\\\":\\\"Gosodiadau e-Bortffolio\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Gwall wrth roi’ch e-Bortffolio at ei gilydd. Rhowch gynnig arall arni rywbryd eto.\\\",\\\"missing_file\\\":\\\"Dewiswch ffeil\\\",\\\"name_required\\\":\\\"Mae’n rhaid rhoi enw\\\",\\\"name_too_long\\\":\\\"Mae’r enw yn rhy hir\\\",\\\"section_name_invalid\\\":\\\"Dydy Enw’r adran ddim yn ddilys\\\",\\\"section_name_too_long\\\":\\\"Mae Enw’r adran yn rhy hir\\\",\\\"upload_failed\\\":\\\"Wedi methu llwytho i fyny.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Ychwanegu Tudalen ar gyfer Cyflwyniad\\\",\\\"download_eportfolio\\\":\\\"Llwytho e-Bortffolio i lawr\\\",\\\"section_list\\\":\\\"Llusgwch i drefnu, Cliciwch i olygu\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Ffeil/Delwedd wedi’i llwytho i fyny\\\",\\\"html\\\":\\\"Cynnwys wedi’i Blannu/HTML\\\",\\\"rich_text\\\":\\\"Cynnwys Testun Cyfoethog\\\",\\\"submission\\\":\\\"Cyflwyniad Cwrs\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Wrthi’n casglu adnoddau ar gyfer e-Bortffolio - fe allai hyn gymryd ychydig bach o amser os oes llawer o ffeiliau yn eich e-Bortffolio.\\\"}}},\\\"move_abf00365\\\":\\\"Symud\\\",\\\"move_page_e25b123d\\\":\\\"Symud Tudalen\\\",\\\"move_section_d3866941\\\":\\\"Symud Adran\\\",\\\"place_section_before_5b45714e\\\":\\\"Rhoi \\\\\\\"%{section}\\\\\\\" cyn:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Gosodiadau ar gyfer %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"cyflwyniad wedi’i ychwanegu: %{title}\\\"},\\\"da\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- På bunden --\\\",\\\"cancel_caeb1e68\\\":\\\"Annuller\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Klik for at redigere, træk for at omorganisere\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Redigering færdig\\\",\\\"manage_sections\\\":\\\"Administrering af sektioner\\\"},\\\"confirm_delete_message\\\":\\\"Er du sikker på, at du vil slette denne besked?\\\",\\\"confirm_delete_page\\\":\\\"Slette denne side og hele dens indhold?\\\",\\\"confirm_delete_section\\\":\\\"Slette denne sektion og alle dens sider?\\\",\\\"default_description\\\":\\\"Dette er min aflevering af %{assignment} til %{course}.\\\",\\\"eportfolio_settings\\\":\\\"Indstillinger til ePortfolio\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Det opstod en fejl under samlingen af din eportfolio. Prøv igen lidt senere.\\\",\\\"missing_file\\\":\\\"Vælg en fil\\\",\\\"name_required\\\":\\\"Navn er påkrævet\\\",\\\"name_too_long\\\":\\\"Navn er for langt\\\",\\\"section_name_invalid\\\":\\\"Sektionsnavn er ikke gyldigt\\\",\\\"section_name_too_long\\\":\\\"Sektionsnavn er for langt\\\",\\\"upload_failed\\\":\\\"Upload mislykkedes.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Føj side til afleveringen\\\",\\\"download_eportfolio\\\":\\\"Download ePortfolio\\\",\\\"section_list\\\":\\\"Træk for at omorganisere, klik for at redigere\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Billede-/filoverførsel\\\",\\\"html\\\":\\\"HTML/integreret indhold\\\",\\\"rich_text\\\":\\\"RTF-indhold\\\",\\\"submission\\\":\\\"Aflevering\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Samler ressourcer til ePortfolio. Der kan gå lidt tid, inden du har mange filer i din ePortfolio.\\\"}}},\\\"move_abf00365\\\":\\\"Flyt\\\",\\\"move_page_e25b123d\\\":\\\"Flyt side\\\",\\\"move_section_d3866941\\\":\\\"Flyt sektion\\\",\\\"place_section_before_5b45714e\\\":\\\"Placer \\\\\\\"%{section}\\\\\\\" før:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Indstillinger for %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"aflevering tilføjet: %{title}\\\"},\\\"da-x-k12\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- På bunden --\\\",\\\"cancel_caeb1e68\\\":\\\"Annuller\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Klik for at redigere, træk for at omorganisere\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Redigering færdig\\\",\\\"manage_sections\\\":\\\"Administrering af sektioner\\\"},\\\"confirm_delete_message\\\":\\\"Er du sikker på, at du vil slette denne besked?\\\",\\\"confirm_delete_page\\\":\\\"Slette denne side og hele dens indhold?\\\",\\\"confirm_delete_section\\\":\\\"Slette denne sektion og alle dens sider?\\\",\\\"default_description\\\":\\\"Dette er min aflevering af %{assignment} til %{course}.\\\",\\\"eportfolio_settings\\\":\\\"Indstillinger til ePortfolio\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Det opstod en fejl under samlingen af din eportfolio. Prøv igen lidt senere.\\\",\\\"missing_file\\\":\\\"Vælg en fil\\\",\\\"name_required\\\":\\\"Navn er påkrævet\\\",\\\"name_too_long\\\":\\\"Navn er for langt\\\",\\\"section_name_invalid\\\":\\\"Sektionsnavn er ikke gyldigt\\\",\\\"section_name_too_long\\\":\\\"Sektionsnavn er for langt\\\",\\\"upload_failed\\\":\\\"Upload mislykkedes.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Føj side til afleveringen\\\",\\\"download_eportfolio\\\":\\\"Download ePortfolio\\\",\\\"section_list\\\":\\\"Træk for at omorganisere, klik for at redigere\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Billede-/filoverførsel\\\",\\\"html\\\":\\\"HTML/integreret indhold\\\",\\\"rich_text\\\":\\\"RTF-indhold\\\",\\\"submission\\\":\\\"Aflevering\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Samler ressourcer til ePortfolio. Der kan gå lidt tid, inden du har mange filer i din ePortfolio.\\\"}}},\\\"move_abf00365\\\":\\\"Flyt\\\",\\\"move_page_e25b123d\\\":\\\"Flyt side\\\",\\\"move_section_d3866941\\\":\\\"Flyt sektion\\\",\\\"place_section_before_5b45714e\\\":\\\"Placer \\\\\\\"%{section}\\\\\\\" før:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Indstillinger for %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"aflevering tilføjet: %{title}\\\"},\\\"de\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"– Unten–\\\",\\\"cancel_caeb1e68\\\":\\\"Abbrechen\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Zum Bearbeiten klicken, Zum Neuordnen ziehen\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Bearbeitung abgeschlossen\\\",\\\"manage_sections\\\":\\\"Kursabschnitte verwalten\\\"},\\\"confirm_delete_message\\\":\\\"Möchten Sie diese Nachricht wirklich löschen?\\\",\\\"confirm_delete_page\\\":\\\"Möchten Sie diese Seite und den gesamten Inhalt löschen?\\\",\\\"confirm_delete_section\\\":\\\"Möchten Sie diesen Kursabschnitt mit allen Seiten löschen?\\\",\\\"default_description\\\":\\\"Dies ist meine %{assignment}-Abgabe für %{course}.\\\",\\\"eportfolio_settings\\\":\\\"ePortfolio-Einstellungen\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Beim Kompilieren Ihres ePortfolios ist ein Fehler aufgetreten. Bitte versuchen Sie es in ein paar Minuten erneut.\\\",\\\"missing_file\\\":\\\"Bitte wählen Sie eine Datei aus.\\\",\\\"name_required\\\":\\\"Name ist erforderlich.\\\",\\\"name_too_long\\\":\\\"Name ist zu lang\\\",\\\"section_name_invalid\\\":\\\"Abschnittsname ist ungültig.\\\",\\\"section_name_too_long\\\":\\\"Abschnittsname ist zu lang.\\\",\\\"upload_failed\\\":\\\"Upload fehlgeschlagen.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Seite für Abgaben hinzufügen\\\",\\\"download_eportfolio\\\":\\\"ePortfolio herunterladen\\\",\\\"section_list\\\":\\\"Ziehen zum Anordnen, Klicken zum Bearbeiten\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Bild-/Datei-Upload\\\",\\\"html\\\":\\\"HTML-/eingebettete Inhalte\\\",\\\"rich_text\\\":\\\"Rich-Text-Content\\\",\\\"submission\\\":\\\"Kursabgabe\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Die Ressourcen des ePortfolio werden gesammelt. Wenn Ihr ePortfolio zahlreiche Dateien umfasst, kann dies eine Weile dauern.\\\"}}},\\\"move_abf00365\\\":\\\"Verschieben\\\",\\\"move_page_e25b123d\\\":\\\"Seite verschieben\\\",\\\"move_section_d3866941\\\":\\\"Abschnitt verschieben\\\",\\\"place_section_before_5b45714e\\\":\\\"„%{section}“ platzieren vor:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Einstellungen für %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"Abgabe hinzugefügt: %{title}\\\"},\\\"el\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- Στο κάτω μέρος --\\\",\\\"cancel_caeb1e68\\\":\\\"Ακύρωση\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Ολοκληρώθηκε η επεξεργασία\\\",\\\"manage_sections\\\":\\\"Διαχείριση Τομέων\\\"},\\\"confirm_delete_message\\\":\\\"Είστε σίγουρος/η ότι επιθυμείτε να διαγράψετε αυτό το μήνυμα;\\\",\\\"confirm_delete_page\\\":\\\"Θέλετε να διαγράψετε αυτή τη σελίδα και όλο της το περιεχόμενο;\\\",\\\"confirm_delete_section\\\":\\\"Θέλετε να διαγράψετε αυτόν τον τομέα και όλες του τις σελίδες;\\\",\\\"default_description\\\":\\\"Αυτή είναι η υποβολή της εργασίας μου %{assignment} για το μάθημα %{course}.\\\",\\\"eportfolio_settings\\\":\\\"Ρυθμίσεις ePortfolio \\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Υπήρξε σφάλμα κατά την σύνταξη του ePortofolio σας. Παρακαλώ ξαναδοκιμάστε σε λίγο.\\\",\\\"missing_file\\\":\\\"Παρακαλώ επιλέξτε ένα αρχείο\\\",\\\"name_required\\\":\\\"Απαιτείται όνομα\\\",\\\"name_too_long\\\":\\\"Το Όνομα είναι πολύ μακρύ\\\",\\\"section_name_invalid\\\":\\\"Το όνομα του Τμήματος δεν είναι έγκυρο\\\",\\\"section_name_too_long\\\":\\\"Το Όνομα του Τμήματος είναι πολύ μακρύ\\\",\\\"upload_failed\\\":\\\"Απέτυχε η φόρτωση\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Πρόσθεση Σελίδας για Υποβολή\\\",\\\"download_eportfolio\\\":\\\"Μεταφόρτωση του ePortofolio\\\",\\\"section_list\\\":\\\"Σύρετε για Τακτοποίηση, κάντε Κλικ για Επεξεργασία\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Φόρτωση Εικόνας/Αρχείου\\\",\\\"html\\\":\\\"Περιεχόμενο HTML/Ενσωματωμένο\\\",\\\"rich_text\\\":\\\"Περιεχόμενο τύπου Rich Text\\\",\\\"submission\\\":\\\"Υποβολή Μαθήματος\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Γίνεται συλλογή των πηγών του ePortfolio, αυτό μπορεί να πάρει λίγη ώρα αν έχετε πολλά αρχεία στο ePortfolio σας.\\\"}}},\\\"move_abf00365\\\":\\\"Μετακίνησε\\\"},\\\"en\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- At the bottom --\\\",\\\"cancel_caeb1e68\\\":\\\"Cancel\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Click to edit, drag to reorder\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Done Editing\\\",\\\"manage_sections\\\":\\\"Manage Sections\\\"},\\\"confirm_delete_message\\\":\\\"Are you sure you want to delete this message?\\\",\\\"confirm_delete_page\\\":\\\"Delete this page and all its content?\\\",\\\"confirm_delete_section\\\":\\\"Delete this section and all its pages?\\\",\\\"default_description\\\":\\\"This is my %{assignment} submission for %{course}.\\\",\\\"eportfolio_settings\\\":\\\"ePortfolio Settings\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"There was an error compiling your eportfolio. Please try again in a little while.\\\",\\\"missing_file\\\":\\\"Please select a file\\\",\\\"name_required\\\":\\\"Name is required\\\",\\\"name_too_long\\\":\\\"Name is too long\\\",\\\"section_name_invalid\\\":\\\"Section name is not valid\\\",\\\"section_name_too_long\\\":\\\"Section name is too long\\\",\\\"upload_failed\\\":\\\"Upload Failed.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Add Page for Submission\\\",\\\"download_eportfolio\\\":\\\"Download ePortfolio\\\",\\\"section_list\\\":\\\"Drag to Arrange, Click to Edit\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Image/File Upload\\\",\\\"html\\\":\\\"HTML/Embedded Content\\\",\\\"rich_text\\\":\\\"Rich Text Content\\\",\\\"submission\\\":\\\"Course Submission\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Collecting ePortfolio resources. this may take a while if you have a lot of files in your ePortfolio.\\\"}}},\\\"move_abf00365\\\":\\\"Move\\\",\\\"move_page_e25b123d\\\":\\\"Move Page\\\",\\\"move_section_d3866941\\\":\\\"Move Section\\\",\\\"place_section_before_5b45714e\\\":\\\"Place \\\\\\\"%{section}\\\\\\\" before:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Settings for %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"submission added: %{title}\\\"},\\\"en-AU\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- At the bottom --\\\",\\\"cancel_caeb1e68\\\":\\\"Cancel\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Click to edit, drag to reorder\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Done Editing\\\",\\\"manage_sections\\\":\\\"Manage Sections\\\"},\\\"confirm_delete_message\\\":\\\"Are you sure you want to delete this message?\\\",\\\"confirm_delete_page\\\":\\\"Delete this page and all its content?\\\",\\\"confirm_delete_section\\\":\\\"Delete this section and all its pages?\\\",\\\"default_description\\\":\\\"This is my %{assignment} submission for %{course}.\\\",\\\"eportfolio_settings\\\":\\\"ePortfolio Settings\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"There was an error compiling your eportfolio. Please try again in a little while.\\\",\\\"missing_file\\\":\\\"Please select a file\\\",\\\"name_required\\\":\\\"Name is required\\\",\\\"name_too_long\\\":\\\"Name is too long\\\",\\\"section_name_invalid\\\":\\\"Section name is not valid\\\",\\\"section_name_too_long\\\":\\\"Section name is too long\\\",\\\"upload_failed\\\":\\\"Upload Failed.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Add Page for Submission\\\",\\\"download_eportfolio\\\":\\\"Download ePortfolio\\\",\\\"section_list\\\":\\\"Drag to Arrange, Click to Edit\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Image/File Upload\\\",\\\"html\\\":\\\"HTML/Embedded Content\\\",\\\"rich_text\\\":\\\"Rich Text Content\\\",\\\"submission\\\":\\\"Course Submission\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Collecting ePortfolio resources. this may take a while if you have a lot of files in your ePortfolio.\\\"}}},\\\"move_abf00365\\\":\\\"Move\\\",\\\"move_page_e25b123d\\\":\\\"Move Page\\\",\\\"move_section_d3866941\\\":\\\"Move Section\\\",\\\"place_section_before_5b45714e\\\":\\\"Place \\\\\\\"%{section}\\\\\\\" before:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Settings for %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"submission added: %{title}\\\"},\\\"en-CA\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- At the bottom --\\\",\\\"cancel_caeb1e68\\\":\\\"Cancel\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Click to edit, drag to reorder\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Done Editing\\\",\\\"manage_sections\\\":\\\"Manage Sections\\\"},\\\"confirm_delete_message\\\":\\\"Are you sure you want to delete this message?\\\",\\\"confirm_delete_page\\\":\\\"Delete this page and all its content?\\\",\\\"confirm_delete_section\\\":\\\"Delete this section and all its pages?\\\",\\\"default_description\\\":\\\"This is my %{assignment} submission for %{course}.\\\",\\\"eportfolio_settings\\\":\\\"ePortfolio Settings\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"There was an error compiling your eportfolio. Please try again in a little while.\\\",\\\"missing_file\\\":\\\"Please select a file\\\",\\\"name_required\\\":\\\"Name is required\\\",\\\"name_too_long\\\":\\\"Name is too long\\\",\\\"section_name_invalid\\\":\\\"Section name is not valid\\\",\\\"section_name_too_long\\\":\\\"Section name is too long\\\",\\\"upload_failed\\\":\\\"Upload Failed.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Add Page for Submission\\\",\\\"download_eportfolio\\\":\\\"Download ePortfolio\\\",\\\"section_list\\\":\\\"Drag to Arrange, Click to Edit\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Image/File Upload\\\",\\\"html\\\":\\\"HTML/Embedded Content\\\",\\\"rich_text\\\":\\\"Rich Text Content\\\",\\\"submission\\\":\\\"Course Submission\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Collecting ePortfolio resources. this may take a while if you have a lot of files in your ePortfolio.\\\"}}},\\\"move_abf00365\\\":\\\"Move\\\",\\\"move_page_e25b123d\\\":\\\"Move Page\\\",\\\"move_section_d3866941\\\":\\\"Move Section\\\",\\\"place_section_before_5b45714e\\\":\\\"Place \\\\\\\"%{section}\\\\\\\" before:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Settings for %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"submission added: %{title}\\\"},\\\"en-GB\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- At the bottom --\\\",\\\"cancel_caeb1e68\\\":\\\"Cancel\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Click to edit, drag to reorder\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Done editing\\\",\\\"manage_sections\\\":\\\"Manage sections\\\"},\\\"confirm_delete_message\\\":\\\"Are you sure you want to delete this message?\\\",\\\"confirm_delete_page\\\":\\\"Delete this page and all its content?\\\",\\\"confirm_delete_section\\\":\\\"Delete this section and all its pages?\\\",\\\"default_description\\\":\\\"This is my %{assignment} submission for %{course}.\\\",\\\"eportfolio_settings\\\":\\\"ePortfolio settings\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"There was an error compiling your ePortfolio. Please try again in a little while.\\\",\\\"missing_file\\\":\\\"Please select a file\\\",\\\"name_required\\\":\\\"Name is required\\\",\\\"name_too_long\\\":\\\"Name is too long\\\",\\\"section_name_invalid\\\":\\\"Section name is not valid\\\",\\\"section_name_too_long\\\":\\\"Section name is too long\\\",\\\"upload_failed\\\":\\\"Upload failed.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Add page for submission\\\",\\\"download_eportfolio\\\":\\\"Download ePortfolio\\\",\\\"section_list\\\":\\\"Drag to arrange, click to edit\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Image/file upload\\\",\\\"html\\\":\\\"HTML/embedded content\\\",\\\"rich_text\\\":\\\"Rich text content\\\",\\\"submission\\\":\\\"Course submission\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Collecting ePortfolio resources. This may take a while if you have a lot of files in your ePortfolio.\\\"}}},\\\"move_abf00365\\\":\\\"Move\\\",\\\"move_page_e25b123d\\\":\\\"Move page\\\",\\\"move_section_d3866941\\\":\\\"Move section\\\",\\\"place_section_before_5b45714e\\\":\\\"Place \\\\\\\"%{section}\\\\\\\" before:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Settings for %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"submission added: %{title}\\\"},\\\"es\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- En la parte inferior --\\\",\\\"cancel_caeb1e68\\\":\\\"Cancelar\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Haga clic para editar, arrastre para reordenar\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Edición completa\\\",\\\"manage_sections\\\":\\\"Administre las secciones\\\"},\\\"confirm_delete_message\\\":\\\"¿Está seguro de que desea eliminar este mensaje?\\\",\\\"confirm_delete_page\\\":\\\"¿Eliminar esta página y todo su contenido?\\\",\\\"confirm_delete_section\\\":\\\"¿Eliminar esta sección y todas sus páginas?\\\",\\\"default_description\\\":\\\"Esta es mi entrega de %{assignment} para %{course}.\\\",\\\"eportfolio_settings\\\":\\\"Configuraciones del portafolio electrónico\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Hubo un error en la compilación de su portafolio electrónico. Intente de nuevo en un momento.\\\",\\\"missing_file\\\":\\\"Seleccione un archivo\\\",\\\"name_required\\\":\\\"Nombre obligatorio\\\",\\\"name_too_long\\\":\\\"El nombre es demasiado largo\\\",\\\"section_name_invalid\\\":\\\"El nombre de la sección no es válido\\\",\\\"section_name_too_long\\\":\\\"El nombre de la sección es demasiado largo\\\",\\\"upload_failed\\\":\\\"La carga falló.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Agregue la página para la entrega\\\",\\\"download_eportfolio\\\":\\\"Descargar el portafolio electrónico\\\",\\\"section_list\\\":\\\"Arrastre para arreglar, haga clic para editar\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Cargar imagen/Archivo\\\",\\\"html\\\":\\\"Contenido HTML/Integrado\\\",\\\"rich_text\\\":\\\"Editor de contenido enriquecido\\\",\\\"submission\\\":\\\"Entrega del curso\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Recolectando recursos para su portafolio electrónico. Esto puede tomar un momento si tiene muchos archivos en su portafolio electrónico.\\\"}}},\\\"move_abf00365\\\":\\\"Mover\\\",\\\"move_page_e25b123d\\\":\\\"Mover página\\\",\\\"move_section_d3866941\\\":\\\"Mover sección\\\",\\\"place_section_before_5b45714e\\\":\\\"Colocar \\\\\\\"%{section}\\\\\\\" antes:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Configuración para %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"entrega agregada: %{title}\\\"},\\\"fa\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"در پایین\\\",\\\"cancel_caeb1e68\\\":\\\"لغو\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"برای ویرایش کلیک کنید، برای مرتب‌سازی دوباره، بکشید\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"ویرایش انجام شد\\\",\\\"manage_sections\\\":\\\"مدیریت بخش ها\\\"},\\\"confirm_delete_message\\\":\\\"مطمئنید که می خواهید این پیام حذف شود؟\\\",\\\"confirm_delete_page\\\":\\\"این صفحه و تمام محتوای آن حذف شود؟\\\",\\\"confirm_delete_section\\\":\\\"این بخش و همه صفحه های آن حذف شود؟\\\",\\\"default_description\\\":\\\"این ارسال مربوط به %{assignment} من برای %{course} است.\\\",\\\"eportfolio_settings\\\":\\\"تنظیمات مجموعه اسناد الکترونیکی\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"در هنگام گردآوری مجموعه اسناد الکترونیکی شما خطایی رخ داد. لطفا مدت کوتاهی بعد دوباره سعی کنید.\\\",\\\"missing_file\\\":\\\"لطفا یک فایل انتخاب کنید\\\",\\\"name_required\\\":\\\"نام الزامی است\\\",\\\"name_too_long\\\":\\\"نام طولانی است\\\",\\\"section_name_invalid\\\":\\\"نام بخش معتبر نیست\\\",\\\"section_name_too_long\\\":\\\"نام بخش، طولانی است \\\",\\\"upload_failed\\\":\\\"بارگذاری انجام نشد.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"افزودن صفحه برای مورد ارسالی\\\",\\\"download_eportfolio\\\":\\\"بارگیری مجموعه اسناد الکترونیکی\\\",\\\"section_list\\\":\\\"برای مرتب کردن بکشید، برای ویرایش، کلیک کنید\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"بارگذاری تصویر/فایل\\\",\\\"html\\\":\\\"محتوای HTML/درج شده\\\",\\\"rich_text\\\":\\\"محتوای متن غنی\\\",\\\"submission\\\":\\\"مورد ارسالی درس\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"در حال گردآوری منابع مجموعه اسناد الکترونیکی. اگر تعداد زیادی فایل در مجموعه خود داشته باشید، ممکن است مدتی طول بکشد.\\\"}}},\\\"move_abf00365\\\":\\\"انتقال\\\",\\\"move_page_e25b123d\\\":\\\"انتقال صفحه\\\",\\\"move_section_d3866941\\\":\\\"انتقال بخش\\\",\\\"place_section_before_5b45714e\\\":\\\"\\\\\\\"%{section}\\\\\\\" را قرار دهید قبل از:\\\",\\\"settings_for_title_d3ca495\\\":\\\"تنظیمات برای %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"ارسال‌ها اضافه شد: %{title}\\\"},\\\"fi\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- Alaosassa --\\\",\\\"cancel_caeb1e68\\\":\\\"Peruuta\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Napsauta muokataksesi, vedä järjestääksesi uudelleen\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Muokkaus valmis\\\",\\\"manage_sections\\\":\\\"Hallitse osioita\\\"},\\\"confirm_delete_message\\\":\\\"Haluatko varmasti poistaa tämän viestin?\\\",\\\"confirm_delete_page\\\":\\\"Poistetaanko tämä sivu ja kaikki sen sisältö?\\\",\\\"confirm_delete_section\\\":\\\"Poistetaanko tämä osio ja kaikki sen sivut?\\\",\\\"default_description\\\":\\\"Tämä on %{assignment} tehtäväpalautukseni kohteelle %{course}.\\\",\\\"eportfolio_settings\\\":\\\"ePortfolion asetukset\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"ePortfoliosi luomisessa ilmeni virhe. Yritä uudelleen hetken kuluttua.\\\",\\\"missing_file\\\":\\\"Valitse tiedosto\\\",\\\"name_required\\\":\\\"Nimi vaaditaan\\\",\\\"name_too_long\\\":\\\"Nimi on liian pitkä\\\",\\\"section_name_invalid\\\":\\\"Osion nimi ei ole kelvollinen\\\",\\\"section_name_too_long\\\":\\\"Osion nimi on liian pitkä\\\",\\\"upload_failed\\\":\\\"Lataus epäonnistui.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Lisää sivu tehtäväpalautusta varten\\\",\\\"download_eportfolio\\\":\\\"Lataa ePortfolio\\\",\\\"section_list\\\":\\\"Järjestä vetämällä, muokkaa napsauttamalla\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Kuvan/Tiedoston lataus\\\",\\\"html\\\":\\\"HTML/Upotettu sisältö\\\",\\\"rich_text\\\":\\\"RTF-muoto\\\",\\\"submission\\\":\\\"Kurssin tehtäväpalautus\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"ePortfolio-resurssia kerätään. Tämä saattaa kestää hetken, jos sinulla on paljon tiedostoja ePortfoliossasi.\\\"}}},\\\"move_abf00365\\\":\\\"Siirrä\\\",\\\"move_page_e25b123d\\\":\\\"Siirrä sivua\\\",\\\"move_section_d3866941\\\":\\\"Siirrä osiota\\\",\\\"place_section_before_5b45714e\\\":\\\"Sijoita ”%{section}” ennen:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Asetukset kohteelle %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"tehtäväpalautus lisätty: %{title}\\\"},\\\"fr\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- Tout en bas --\\\",\\\"cancel_caeb1e68\\\":\\\"Annuler\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Cliquez dans une page pour la modifier, ou faites-la glisser pour la classer\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Modification terminée\\\",\\\"manage_sections\\\":\\\"Gérer les sections\\\"},\\\"confirm_delete_message\\\":\\\"Voulez-vous vraiment supprimer ce message ?\\\",\\\"confirm_delete_page\\\":\\\"Supprimer cette page et tout son contenu ?\\\",\\\"confirm_delete_section\\\":\\\"Supprimer cette section et toutes ses pages ?\\\",\\\"default_description\\\":\\\"Envoi de mon travail %{assignment} pour %{course}.\\\",\\\"eportfolio_settings\\\":\\\"Paramètres du portefeuille électronique\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Erreur lors de la compilation du portefeuille électronique Veuillez réessayer dans quelques instants.\\\",\\\"missing_file\\\":\\\"Sélectionnez un fichier.\\\",\\\"name_required\\\":\\\"Le nom doit être spécifié.\\\",\\\"name_too_long\\\":\\\"Nom trop long\\\",\\\"section_name_invalid\\\":\\\"Nom de section non valide\\\",\\\"section_name_too_long\\\":\\\"Nom de section trop long\\\",\\\"upload_failed\\\":\\\"Échec du téléchargement.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Ajouter une page à l’envoi\\\",\\\"download_eportfolio\\\":\\\"Télécharger le portefeuille électronique\\\",\\\"section_list\\\":\\\"Faire glisser pour organiser, cliquer pour modifier\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Téléchargement d’une image/d’un fichier\\\",\\\"html\\\":\\\"Contenu HTML/incorporé\\\",\\\"rich_text\\\":\\\"Contenu de texte enrichi\\\",\\\"submission\\\":\\\"Envoi du cours\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Collecte des ressources du portefeuille en cours. L’opération peut nécessiter un certain temps si le nombre de fichiers dans votre portefeuille électronique est élevé.\\\"}}},\\\"move_abf00365\\\":\\\"Déplacer\\\",\\\"move_page_e25b123d\\\":\\\"Déplacer la page\\\",\\\"move_section_d3866941\\\":\\\"Déplacer la section\\\",\\\"place_section_before_5b45714e\\\":\\\"Placer «%{section}» avant :\\\",\\\"settings_for_title_d3ca495\\\":\\\"Paramètres pour %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"soumission ajoutée : %{title}\\\"},\\\"fr-CA\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- Tout en bas --\\\",\\\"cancel_caeb1e68\\\":\\\"Annuler\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Cliquez dans une page pour la modifier, ou faites-la glisser pour la classer\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Édition terminée\\\",\\\"manage_sections\\\":\\\"Gérer les sections\\\"},\\\"confirm_delete_message\\\":\\\"Voulez-vous vraiment supprimer ce message?\\\",\\\"confirm_delete_page\\\":\\\"Supprimer cette page et tout son contenu?\\\",\\\"confirm_delete_section\\\":\\\"Supprimer cette section et toutes ses pages?\\\",\\\"default_description\\\":\\\"Envoi de ma tâche %{assignment} pour %{course}.\\\",\\\"eportfolio_settings\\\":\\\"Paramètres du ePortfolio\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Erreur lors de la compilation du ePortfolio. Veuillez réessayer dans quelques instants.\\\",\\\"missing_file\\\":\\\"Sélectionnez un fichier.\\\",\\\"name_required\\\":\\\"Le nom doit être spécifié.\\\",\\\"name_too_long\\\":\\\"Le nom est trop long\\\",\\\"section_name_invalid\\\":\\\"Nom de section non valide\\\",\\\"section_name_too_long\\\":\\\"Nom de section trop long\\\",\\\"upload_failed\\\":\\\"Échec du téléversement.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Ajouter une page à l’envoi\\\",\\\"download_eportfolio\\\":\\\"Télécharger l'ePortfolio\\\",\\\"section_list\\\":\\\"Faire glisser pour organiser, cliquer pour modifier\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Téléversement d’une image/d’un fichier\\\",\\\"html\\\":\\\"Contenu HTML/incorporé\\\",\\\"rich_text\\\":\\\"Contenu de texte enrichi\\\",\\\"submission\\\":\\\"Envoi du cours\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Collecte des ressources du ePortfolio en cours. L’opération peut nécessiter un certain temps si le nombre de fichiers dans votre ePortfolio est élevé.\\\"}}},\\\"move_abf00365\\\":\\\"Déplacer\\\",\\\"move_page_e25b123d\\\":\\\"Déplacer la page\\\",\\\"move_section_d3866941\\\":\\\"Déplacer la section\\\",\\\"place_section_before_5b45714e\\\":\\\"Placer \\\\\\\"%{section}\\\\\\\" avant :\\\",\\\"settings_for_title_d3ca495\\\":\\\"Paramètres pour %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"soumission ajoutée : %{title}\\\"},\\\"he\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- בתחתית --\\\",\\\"cancel_caeb1e68\\\":\\\"ביטול\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"הקש/י כדי לעדכן, גרור/י כדי לשנות סדר\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"עריכה נסתיימה\\\",\\\"manage_sections\\\":\\\"ניהול הקבצות\\\"},\\\"confirm_delete_message\\\":\\\"האם את/ה בטוח/ה שברצונך לבטל הודעה זו?\\\",\\\"confirm_delete_page\\\":\\\"לבטל את הדף הזה על כל תוכנו?\\\",\\\"confirm_delete_section\\\":\\\"למחוק את ההקבצה הזו ואת כל דפיה?\\\",\\\"default_description\\\":\\\"זוהי הגשתי %{assignment} עבור %{course}.\\\",\\\"eportfolio_settings\\\":\\\"הגדרות ePortfolio\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"אירעה שגיאה בעת עיבוד ה eportfolio שלך. יש לנסות שוב מאוחר יותר\\\",\\\"missing_file\\\":\\\"אנה בחר קובץ\\\",\\\"name_required\\\":\\\"דרוש שם\\\",\\\"name_too_long\\\":\\\"שם ארוך מדי\\\",\\\"section_name_invalid\\\":\\\"שם הקבצה אינו חוקי\\\",\\\"section_name_too_long\\\":\\\"שם הקבצה ארוך מדי\\\",\\\"upload_failed\\\":\\\"העלאה נכשלה.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"הוספת דף להגשה\\\",\\\"download_eportfolio\\\":\\\"הורדת ePortfolio\\\",\\\"section_list\\\":\\\"גרור/י כדי לסדר מחדש, הקלק/י כדי לערוך\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"העלאת תמונה\\\\\\\\קובץ\\\",\\\"html\\\":\\\"תוכן משולב/HTML\\\",\\\"rich_text\\\":\\\"תוכן עשיר\\\",\\\"submission\\\":\\\"הגשות קורס\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"אוסף את מקורות ה ePortfolio. הדבר יכול לארוך זמן מה אם ישנם קבצים רבים ב ePortfolio שלך\\\"}}},\\\"move_abf00365\\\":\\\"העברה\\\",\\\"move_page_e25b123d\\\":\\\"העברת דף\\\",\\\"move_section_d3866941\\\":\\\"העברת הקבצה\\\",\\\"place_section_before_5b45714e\\\":\\\"הצבת \\\\\\\"%{section}\\\\\\\" לפני:\\\",\\\"settings_for_title_d3ca495\\\":\\\"הגדרות עבור %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"נתווספה הגשה: %{title}\\\"},\\\"ht\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- Anba --\\\",\\\"cancel_caeb1e68\\\":\\\"Anile\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Klike pou modifye, deplase pou re oganize\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Modifikasyon Fini\\\",\\\"manage_sections\\\":\\\"Jere Seksyon\\\"},\\\"confirm_delete_message\\\":\\\"Ou kwè vrèman ou vle efase mesaj sa a?\\\",\\\"confirm_delete_page\\\":\\\"Efase paj sa a ak tout kontni li?\\\",\\\"confirm_delete_section\\\":\\\"Efase seksyon sa a ak tout paj li yo?\\\",\\\"default_description\\\":\\\"Sa se soumisyon %{assignment} mwen pou sesyon pou %{course}.\\\",\\\"eportfolio_settings\\\":\\\"paramèt ePortfolio\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Gen yon erè ki fèt pandan konpilasyon eportfolio ou a, tanpri eseye aprè yon ti tan ankò.\\\",\\\"missing_file\\\":\\\"Tanpri chwazi yon fichye\\\",\\\"name_required\\\":\\\"Non an obligatwa\\\",\\\"name_too_long\\\":\\\"Non an twò long\\\",\\\"section_name_invalid\\\":\\\"Seksyon non an pa valid\\\",\\\"section_name_too_long\\\":\\\"Seksyon non an twò long\\\",\\\"upload_failed\\\":\\\"Transfere Echwe.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Ajoute Paj pou Soumisyon\\\",\\\"download_eportfolio\\\":\\\"Telechaje ePortfolio\\\",\\\"section_list\\\":\\\"Deplase pou Òganize, Klike pou Modifye\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Transfere Fichye/Imaj\\\",\\\"html\\\":\\\"Kontni HTML/Entegre\\\",\\\"rich_text\\\":\\\"Kontni Tèks Rich\\\",\\\"submission\\\":\\\"Soumisyon Kou\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Koleksyon resous ePortfolio. sa ka pran yon ti tan si w gen anpil fichye nan ePortfolio ou a.\\\"}}},\\\"move_abf00365\\\":\\\"Deplase\\\",\\\"move_page_e25b123d\\\":\\\"Deplase Paj\\\",\\\"move_section_d3866941\\\":\\\"Deplase Seksyon\\\",\\\"place_section_before_5b45714e\\\":\\\"Mete \\\\\\\"%{section}\\\\\\\" anvan:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Defini pou %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"Soumisyon ajoute: %{title}\\\"},\\\"hu\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- A lap alján --\\\",\\\"cancel_caeb1e68\\\":\\\"Mégse\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Kattintson a szerkesztéshez, ragadja meg a sorrend módosításához\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Szerkesztés kész\\\",\\\"manage_sections\\\":\\\"Szekciók kezelése\\\"},\\\"confirm_delete_message\\\":\\\"Biztos benne, hogy törli az üzenetet?\\\",\\\"confirm_delete_page\\\":\\\"Biztos benne, hogy törli az oldalt és minden tartalmát?\\\",\\\"confirm_delete_section\\\":\\\"Biztos benne, hogy törli a szekciót és minden oldalát?\\\",\\\"default_description\\\":\\\"Íme a beadandóm a/az %{assignment} feladathoz a következő kurzusban: %{course}.\\\",\\\"eportfolio_settings\\\":\\\"E-portfólió-beállítások\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Hiba történt az e-portfóliójának összeállítása közben. Kérjük, egy kis idő múlva próbálja újra. \\\",\\\"missing_file\\\":\\\"Kérjük, válasszon ki egy fájlt\\\",\\\"name_required\\\":\\\"A név megadása kötelező\\\",\\\"name_too_long\\\":\\\"A név túl hosszú\\\",\\\"section_name_invalid\\\":\\\"A szekciónév helytelen\\\",\\\"section_name_too_long\\\":\\\"A szekció neve túl hosszú\\\",\\\"upload_failed\\\":\\\"Sikertelen feltöltés.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Oldal hozzáadása a leadáshoz \\\",\\\"download_eportfolio\\\":\\\"E-portfólió letöltése\\\",\\\"section_list\\\":\\\"Ragadja meg a sorrend módosításához, kattintson a szerkesztéshez\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Kép/fájl feltöltése\\\",\\\"html\\\":\\\"HTML/beágyazott tartalom\\\",\\\"rich_text\\\":\\\"Formázott szövegtartalom\\\",\\\"submission\\\":\\\"Beadandók\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"E-portfólió anyagok összegyűjtése. Ha sok fájl található az e-portfóliójában, akkor ez a művelet el fog tartani egy ideig...\\\"}}},\\\"move_abf00365\\\":\\\"Áthelyezés\\\",\\\"move_page_e25b123d\\\":\\\"Oldal áthelyezése\\\",\\\"move_section_d3866941\\\":\\\"Szekció áthelyezése\\\",\\\"settings_for_title_d3ca495\\\":\\\"%{title}beállításai\\\"},\\\"hy\\\":{\\\"cancel_caeb1e68\\\":\\\"Չեղյալ համարել\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Խմբագրումը ավարտվել է\\\",\\\"manage_sections\\\":\\\"Բաժինների կառավարում\\\"},\\\"confirm_delete_message\\\":\\\"Դուք իսկապե՞ս ցանկանում եք ջնջել այս հաղորդագրությունը:\\\",\\\"confirm_delete_page\\\":\\\"Ջնջե՞լ այս էջը և նրա ամբողջ բովանդակությունը:\\\",\\\"confirm_delete_section\\\":\\\"Ջնջե՞լ այս բաժինը և նրա ամբողջ էջերը:\\\",\\\"default_description\\\":\\\"Սա %{course}-ի իմ %{assignment}-ի ներկայացումն է:\\\",\\\"eportfolio_settings\\\":\\\"Էլ. պորտֆոլիոյի կարգաբերումներ\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Ձեր Էլ. պորտֆոլիոն կազմելիս սխալ է տեղի ունեցել: Խնդրում ենք ավելի ուշ կրկին փորձեք:\\\",\\\"missing_file\\\":\\\"Ընտրեք ֆայլը\\\",\\\"name_required\\\":\\\"Նշել անունը\\\",\\\"name_too_long\\\":\\\"Անունը չափազանց երկար է\\\",\\\"section_name_invalid\\\":\\\"Բաժնի անվանումը անընդունելի է\\\",\\\"section_name_too_long\\\":\\\"Բաժնի անվանումը չափազանց երկար է\\\",\\\"upload_failed\\\":\\\"Բեռումը խափանվեց:\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Ուղարկման համար ավելացնել էջ\\\",\\\"download_eportfolio\\\":\\\"Ներբեռնել էլ. պորտֆոլիոն\\\",\\\"section_list\\\":\\\"Քաշել՝ դասավորելու, սեղմել՝ խմբագրելու համար\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Պատկերի/ֆայլի բեռնում\\\",\\\"html\\\":\\\"HTML/ներկառուցված բովանդակություն\\\",\\\"rich_text\\\":\\\"Ֆորմատավորված տեքստի բովանդակություն\\\",\\\"submission\\\":\\\"Դասընթացի ուղարկում\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Էլ. պորտֆոլիոյի ռեսուրսների հավաքագրում: Սա կարող է որոշակի ժամանակ պահանջել, եթե ձեր էլ. պորտֆոլիոյում շատ ֆայլեր կան:\\\"}}},\\\"move_abf00365\\\":\\\"Տեղափոխել\\\"},\\\"is\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- Neðst --\\\",\\\"cancel_caeb1e68\\\":\\\"Hætta við\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Smelltu til að breyta, dragðu til að endurraða\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Breytingum lokið\\\",\\\"manage_sections\\\":\\\"Umsjón með hlutum\\\"},\\\"confirm_delete_message\\\":\\\"Viltu örugglega eyða þessum skilaboðum?\\\",\\\"confirm_delete_page\\\":\\\"Eyða síðunni og öllu efni á henni?\\\",\\\"confirm_delete_section\\\":\\\"Eyða þessum hluta og öllum síðum hans?\\\",\\\"default_description\\\":\\\"Þetta er mitt %{assignment} sem er skilað í %{course}.\\\",\\\"eportfolio_settings\\\":\\\"ePortfolio-stillingar\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Villa við smölun á ePortfolio. Reyndu aftur síðar.\\\",\\\"missing_file\\\":\\\"Veldu skrá\\\",\\\"name_required\\\":\\\"Þarf nafn\\\",\\\"name_too_long\\\":\\\"Nafn er of langt\\\",\\\"section_name_invalid\\\":\\\"Heiti hluta er ekki gilt\\\",\\\"section_name_too_long\\\":\\\"Heiti hluta er of langt\\\",\\\"upload_failed\\\":\\\"Ekki tókst að hlaða upp.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Bæta við síðu til að skila\\\",\\\"download_eportfolio\\\":\\\"Hlaða niður ePortfolio\\\",\\\"section_list\\\":\\\"Dragið til að koma fyrir. Smellið til að breyta\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Upphleðsla á mynd/skrá\\\",\\\"html\\\":\\\"HTML/Innfellt efni\\\",\\\"rich_text\\\":\\\"Mótað textaefni\\\",\\\"submission\\\":\\\"Námskeiðsskil\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Smala ePortfolio-tilföngum, þetta tekur tíma ef þú hefur margar skrár í safninu.\\\"}}},\\\"move_abf00365\\\":\\\"Færa\\\",\\\"move_page_e25b123d\\\":\\\"Færa síðu\\\",\\\"move_section_d3866941\\\":\\\"Færa hluta\\\",\\\"place_section_before_5b45714e\\\":\\\"Setja \\\\\\\"%{section}\\\\\\\" á undan:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Stillingar fyrir %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"skilum bætt við: %{title}\\\"},\\\"it\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"- In fondo -\\\",\\\"cancel_caeb1e68\\\":\\\"Annulla\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Fai clic per modificare, trascina per riordinare\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Modifica terminata\\\",\\\"manage_sections\\\":\\\"Gestisci sezioni\\\"},\\\"confirm_delete_message\\\":\\\"Vuoi eliminare questo messaggio?\\\",\\\"confirm_delete_page\\\":\\\"Eliminare questa pagina e tutti i contenuti associati?\\\",\\\"confirm_delete_section\\\":\\\"Eliminare questa sezione e tutte le pagine associate?\\\",\\\"default_description\\\":\\\"Questa è la consegna del mio %{assignment} per %{course}.\\\",\\\"eportfolio_settings\\\":\\\"Impostazioni ePortfolio\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Si è verificato un errore durante la compilazione del tuo ePortfolio. Riprova a breve.\\\",\\\"missing_file\\\":\\\"Seleziona un file\\\",\\\"name_required\\\":\\\"Il nome è obbligatorio\\\",\\\"name_too_long\\\":\\\"Nome troppo lungo\\\",\\\"section_name_invalid\\\":\\\"Nome sezione non valido\\\",\\\"section_name_too_long\\\":\\\"Nome sezione troppo lungo\\\",\\\"upload_failed\\\":\\\"Caricamento non riuscito.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Aggiungi pagina per la consegna\\\",\\\"download_eportfolio\\\":\\\"Scarica ePortfolio\\\",\\\"section_list\\\":\\\"Trascina per organizzare. Fai clic per modificare\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Caricamento immagine/file\\\",\\\"html\\\":\\\"Contenuto HTML/incorporato\\\",\\\"rich_text\\\":\\\"Contenuto testo RTF\\\",\\\"submission\\\":\\\"Consegna corso\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Raccolta delle risorse ePortfolio in corso. Questa operazione potrebbe richiedere un po' di tempo se hai molti file nel tuo ePortfolio.\\\"}}},\\\"move_abf00365\\\":\\\"Sposta\\\",\\\"move_page_e25b123d\\\":\\\"Sposta pagina\\\",\\\"move_section_d3866941\\\":\\\"Sposta sezione\\\",\\\"place_section_before_5b45714e\\\":\\\"Posiziona \\\\\\\"%{section}\\\\\\\" prima:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Impostazioni per %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"consegna aggiunta: %{title}\\\"},\\\"ja\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- 下へ --\\\",\\\"cancel_caeb1e68\\\":\\\"キャンセル\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"クリックで編集、ドラッグで並べ替え\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"編集完了\\\",\\\"manage_sections\\\":\\\"セクションの管理\\\"},\\\"confirm_delete_message\\\":\\\"このメッセージを削除してもよろしいですか?\\\",\\\"confirm_delete_page\\\":\\\"このページとそのコンテンツをすべて削除しますか?\\\",\\\"confirm_delete_section\\\":\\\"このセクションとそのページをすべて削除しますか?\\\",\\\"default_description\\\":\\\"これは、%{course} の %{assignment} に対する私の提出物です。\\\",\\\"eportfolio_settings\\\":\\\"eポートフォリオ設定\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"eポートフォリオをコンパイルする際にエラーが発生しました。しばらくたってから、もう一度やり直してください。\\\",\\\"missing_file\\\":\\\"ファイルを選択してください\\\",\\\"name_required\\\":\\\"名前は必須項目です\\\",\\\"name_too_long\\\":\\\"名前が長すぎます\\\",\\\"section_name_invalid\\\":\\\"セクション名が無効です\\\",\\\"section_name_too_long\\\":\\\"セクション名が長すぎます\\\",\\\"upload_failed\\\":\\\"アップロードに失敗しました。\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"提出用ページの追加\\\",\\\"download_eportfolio\\\":\\\"eポートフォリオのダウンロード\\\",\\\"section_list\\\":\\\"ドラッグで並べ替え、クリックで編集\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"画像/ファイルのアップロード\\\",\\\"html\\\":\\\"HTML/埋め込みコンテンツ\\\",\\\"rich_text\\\":\\\"リッチ テキスト コンテンツ\\\",\\\"submission\\\":\\\"コースへの提出\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"eポートフォリオのリソースを収集しています。eポートフォリオに含まれるファイルの数が多いと、時間がかかる場合があります。\\\"}}},\\\"move_abf00365\\\":\\\"移動\\\",\\\"move_page_e25b123d\\\":\\\"ページ移動\\\",\\\"move_section_d3866941\\\":\\\"セクション移動\\\",\\\"place_section_before_5b45714e\\\":\\\"\\\\\\\"%{section}\\\\\\\" を前に設置してください:\\\",\\\"settings_for_title_d3ca495\\\":\\\"~の設定%{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"提出が追加されました:%{title}\\\"},\\\"ko\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- 맨 밑으로 --\\\",\\\"cancel_caeb1e68\\\":\\\"취소\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"편집 마침\\\",\\\"manage_sections\\\":\\\"섹션 관리\\\"},\\\"confirm_delete_message\\\":\\\"이 메시지를 삭제하시겠습니까?\\\",\\\"confirm_delete_page\\\":\\\"이 페이지와 모든 내용을 삭제하시겠습니까?\\\",\\\"confirm_delete_section\\\":\\\"이 섹션과 모든 내용을 삭제하시겠습니까?\\\",\\\"default_description\\\":\\\"이는 %{course}에 대한 %{assignment} 제출물입니다.\\\",\\\"eportfolio_settings\\\":\\\"ePortfolio 설정\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"ePortfolio를 모으는 중에 오류가 발생했습니다. 잠시 후에 다시 시도하시기 바랍니다.\\\",\\\"missing_file\\\":\\\"파일 선택\\\",\\\"name_required\\\":\\\"이름이 필요함\\\",\\\"name_too_long\\\":\\\"이름이 너무 김\\\",\\\"section_name_invalid\\\":\\\"섹션 이름이 올바르지 않음\\\",\\\"section_name_too_long\\\":\\\"섹션 이름이 너무 김\\\",\\\"upload_failed\\\":\\\"업로드를 실패했습니다.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"제출물 페이지 추가\\\",\\\"download_eportfolio\\\":\\\"ePortfolio 다운로드\\\",\\\"section_list\\\":\\\"배치하려면 끌기, 편집하려면 클릭\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"이미지/파일 업로드\\\",\\\"html\\\":\\\"HTML/포함된 내용\\\",\\\"rich_text\\\":\\\"서식있는 텍스트 내용\\\",\\\"submission\\\":\\\"과목 제출물\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"ePortfolio 리소스를 수집 중입니다. ePortfolio에 파일이 많은 경우에는 다소 시간이 걸릴 수 있습니다.\\\"}}},\\\"move_abf00365\\\":\\\"이동\\\"},\\\"mi\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"- I te raro -\\\",\\\"cancel_caeb1e68\\\":\\\"Whakakore\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Pāwhiritia ki te whakatika, tō ki te raupapa anō\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Mutu Whakatika\\\",\\\"manage_sections\\\":\\\"Whakahaere Wāhanga\\\"},\\\"confirm_delete_message\\\":\\\"E tino hiahia ana koe ki te muku i tēnei karere?\\\",\\\"confirm_delete_page\\\":\\\"Mukua tēnei whārangi, me tona ihirangi katoa?\\\",\\\"confirm_delete_section\\\":\\\"Mukua tēnei wāhanga, me ona whārangi katoa?\\\",\\\"default_description\\\":\\\"Ko toku %{assignment} tāpaetanga mō te %{course} tēnei.\\\",\\\"eportfolio_settings\\\":\\\"Tautuhinga ePortfolio\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"I hapa te whakahiato koutou eportfolio. Ngana anō i roto i te iti, ia.\\\",\\\"missing_file\\\":\\\"Tīpako koa i tētahi kōnae\\\",\\\"name_required\\\":\\\"Hiahiatia Ingoa te\\\",\\\"name_too_long\\\":\\\"Maha Rā Nā\\\",\\\"section_name_invalid\\\":\\\"E kore he tika te ingoa Wāhanga\\\",\\\"section_name_too_long\\\":\\\"Ko te ingoa Wāhanga roa rawa\\\",\\\"upload_failed\\\":\\\"Tukuake rahua.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Tāpiri Whārangi hoki Tāpaetanga\\\",\\\"download_eportfolio\\\":\\\"Tikiake ePortfolio\\\",\\\"section_list\\\":\\\"Tōia ki te Raunaha, Pāwhiritia ki Whakatika\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"āhua / Kōnae Tukuake\\\",\\\"html\\\":\\\"HTML Ihirangi / Tāmau\\\",\\\"rich_text\\\":\\\"Ihirangi Kupu Taunaki\\\",\\\"submission\\\":\\\"tāpaetanga akoranga\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Kohikohi rauemi ePortfolio. kia tango i tēnei he ia ki te whai koe i te rota o te kōnae i roto i to koutou ePortfolio\\\"}}},\\\"move_abf00365\\\":\\\"Nuku\\\",\\\"move_page_e25b123d\\\":\\\"Neke te whārangi\\\",\\\"move_section_d3866941\\\":\\\"Neke te wāhanga\\\",\\\"place_section_before_5b45714e\\\":\\\"wāhi\\\\\\\"%{section}\\\\\\\" i mua:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Nga tautuhinga mō %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"Kua tāpiritia te tāpaetanga %{title}\\\"},\\\"nb\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- På bunnen --\\\",\\\"cancel_caeb1e68\\\":\\\"Avbryt\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Klikk for å redigere, dra for å omordne\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Ferdig med redigering.\\\",\\\"manage_sections\\\":\\\"Administrer seksjoner\\\"},\\\"confirm_delete_message\\\":\\\"Er du sikker på at du vil slette denne meldingen?\\\",\\\"confirm_delete_page\\\":\\\"Slett denne siden og alt innhold?\\\",\\\"confirm_delete_section\\\":\\\"Slette denne seksjonen og alle dens sider?\\\",\\\"default_description\\\":\\\"Dette er min %{assignment} innlevering for %{course}.\\\",\\\"eportfolio_settings\\\":\\\"ePortfolio innstillinger\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Det oppsto en feil ved oppsett av din ePortfolio, vennligst prøv igjen om en liten stund.\\\",\\\"missing_file\\\":\\\"Vennligst velg en fil\\\",\\\"name_required\\\":\\\"Navn kreves\\\",\\\"name_too_long\\\":\\\"Navnet er for langt\\\",\\\"section_name_invalid\\\":\\\"Seksjonsnavn er ugyldig\\\",\\\"section_name_too_long\\\":\\\"Seksjonsnavn er for langt\\\",\\\"upload_failed\\\":\\\"Opplasting mislyktes.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Legg til side for innlevering\\\",\\\"download_eportfolio\\\":\\\"Last ned ePortfolio\\\",\\\"section_list\\\":\\\"Dra for å ordne, klikk for å redigere\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Bilde-/filopplasting\\\",\\\"html\\\":\\\"HTML/Innebygget innhold\\\",\\\"rich_text\\\":\\\"Rikt tekstformat\\\",\\\"submission\\\":\\\"Innlevering for emne\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Samler ePortfolio-ressurser. Dette kan ta en stund om du har mange filer i ePortfolioen din.\\\"}}},\\\"move_abf00365\\\":\\\"Flytt\\\",\\\"move_page_e25b123d\\\":\\\"Flytt side\\\",\\\"move_section_d3866941\\\":\\\"Flytt avsnitt\\\",\\\"place_section_before_5b45714e\\\":\\\"Plasser \\\\\\\"%{section}\\\\\\\" før:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Innstillinger for %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"oppgave lagt til: %{title}\\\"},\\\"nb-x-k12\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- På bunnen --\\\",\\\"cancel_caeb1e68\\\":\\\"Avbryt\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Klikk for å redigere, dra for å omordne\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Ferdig med redigering.\\\",\\\"manage_sections\\\":\\\"Administrer seksjoner\\\"},\\\"confirm_delete_message\\\":\\\"Er du sikker på at du vil slette denne meldingen?\\\",\\\"confirm_delete_page\\\":\\\"Slett denne siden og alt innhold?\\\",\\\"confirm_delete_section\\\":\\\"Slette denne seksjonen og alle dens sider?\\\",\\\"default_description\\\":\\\"Dette er min %{assignment} innlevering for %{course}.\\\",\\\"eportfolio_settings\\\":\\\"ePortfolio innstillinger\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Det oppsto en feil ved oppsett av din ePortfolio, vennligst prøv igjen om en liten stund.\\\",\\\"missing_file\\\":\\\"Vennligst velg en fil\\\",\\\"name_required\\\":\\\"Navn kreves\\\",\\\"name_too_long\\\":\\\"Navnet er for langt\\\",\\\"section_name_invalid\\\":\\\"Seksjonsnavn er ugyldig\\\",\\\"section_name_too_long\\\":\\\"Seksjonsnavn er for langt\\\",\\\"upload_failed\\\":\\\"Opplasting mislyktes.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Legg til side for innlevering\\\",\\\"download_eportfolio\\\":\\\"Last ned ePortfolio\\\",\\\"section_list\\\":\\\"Dra for å ordne, klikk for å redigere\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Bilde-/filopplasting\\\",\\\"html\\\":\\\"HTML/Innebygget innhold\\\",\\\"rich_text\\\":\\\"Rikt tekstinnhold\\\",\\\"submission\\\":\\\"Innlevering for fag\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Samler ePortfolio-ressurser. Dette kan ta en stund om du har mange filer i ePortfolioen din.\\\"}}},\\\"move_abf00365\\\":\\\"Flytt\\\",\\\"move_page_e25b123d\\\":\\\"Flytt side\\\",\\\"move_section_d3866941\\\":\\\"Flytt avsnitt\\\",\\\"place_section_before_5b45714e\\\":\\\"Plasser \\\\\\\"%{section}\\\\\\\" før:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Innstillinger for %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"oppgave lagt til: %{title}\\\"},\\\"nl\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- Onderaan --\\\",\\\"cancel_caeb1e68\\\":\\\"Annuleren\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Klikken om te bewerken, slepen om volgorde te wijzigen\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Klaar met bewerken\\\",\\\"manage_sections\\\":\\\"Secties beheren\\\"},\\\"confirm_delete_message\\\":\\\"Weet je zeker dat je dit bericht wilt verwijderen?\\\",\\\"confirm_delete_page\\\":\\\"Deze pagina inclusief inhoud verwijderen?\\\",\\\"confirm_delete_section\\\":\\\"Deze sectie inclusief alle pagina's verwijderen?\\\",\\\"default_description\\\":\\\"Dit is mijn %{assignment} inzending voor %{course}\\\",\\\"eportfolio_settings\\\":\\\"ePortfolio-instellingen\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Er is een fout opgetreden tijdens het compileren van je ePortfolio. Probeer het later opnieuw.\\\",\\\"missing_file\\\":\\\"Selecteer een bestand\\\",\\\"name_required\\\":\\\"Naam is verplicht!\\\",\\\"name_too_long\\\":\\\"Naam is te lang\\\",\\\"section_name_invalid\\\":\\\"Sectienaam is niet geldig\\\",\\\"section_name_too_long\\\":\\\"Sectienaam is te lang\\\",\\\"upload_failed\\\":\\\"Uploaden mislukt.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Pagina voor inzending toevoegen\\\",\\\"download_eportfolio\\\":\\\"ePortfolio downloaden\\\",\\\"section_list\\\":\\\"Slepen om te schikken, klikken om te bewerken\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Afbeelding/bestand uploaden\\\",\\\"html\\\":\\\"HTML/Ingesloten inhoud\\\",\\\"rich_text\\\":\\\"Rich Text-inhoud\\\",\\\"submission\\\":\\\"Inzending voor cursus\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Bezig met verzamelen van alle ePortfolio-bronnen. Dit kan een tijdje duren als je veel bestanden in je ePortfolio hebt.\\\"}}},\\\"move_abf00365\\\":\\\"Verplaatsen\\\",\\\"move_page_e25b123d\\\":\\\"Pagina verplaatsen\\\",\\\"move_section_d3866941\\\":\\\"Sectie verplaatsen\\\",\\\"place_section_before_5b45714e\\\":\\\"Plaats \\\\\\\"%{section}\\\\\\\" vóór:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Instellingen voor %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"inlevering toegevoegd: %{title}\\\"},\\\"nn\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- Nedst --\\\",\\\"cancel_caeb1e68\\\":\\\"Avbryt\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Klikk for å redigere, dra for å omorganisere\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Redigering fullført\\\",\\\"manage_sections\\\":\\\"Administrer seksjonar\\\"},\\\"confirm_delete_message\\\":\\\"Er du sikker på at du vil slette denne meldinga?\\\",\\\"confirm_delete_page\\\":\\\"Vil du slette denne sida og alt innhald?\\\",\\\"confirm_delete_section\\\":\\\"Vil du slette denne klassa og alt innhald?\\\",\\\"default_description\\\":\\\"Dette er mi innlevering av %{assignment} for %{course}.\\\",\\\"eportfolio_settings\\\":\\\"Innstillingar for e-portefølje\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Det oppstod ein feil under kompilering av e-portefølje. Prøv på nytt seinare.\\\",\\\"missing_file\\\":\\\"Vel ei fil\\\",\\\"name_required\\\":\\\"Namn er obligatorisk\\\",\\\"name_too_long\\\":\\\"Namnet er for langt\\\",\\\"section_name_invalid\\\":\\\"Seksjonsnamnet er ikkje gyldig\\\",\\\"section_name_too_long\\\":\\\"Seksjonsnamnet er for langt\\\",\\\"upload_failed\\\":\\\"Opplasting mislukkast.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Legg til side for innlevering\\\",\\\"download_eportfolio\\\":\\\"Last ned e-portefølje\\\",\\\"section_list\\\":\\\"Dra for å ordne, klikk for å redigere\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Bilde-/filopplasting\\\",\\\"html\\\":\\\"HTML/innebygd innhald\\\",\\\"rich_text\\\":\\\"Innhald rikt tekstformat.\\\",\\\"submission\\\":\\\"Emneinnlevering\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Samlar inn porteføljeressursar. Dersom du har mange filer i e-porteføljen, kan dette ta litt tid.\\\"}}},\\\"move_abf00365\\\":\\\"Flytt\\\",\\\"move_page_e25b123d\\\":\\\"Flytt side\\\",\\\"move_section_d3866941\\\":\\\"Flytt seksjon\\\",\\\"place_section_before_5b45714e\\\":\\\"Plasser \\\\\\\"%{section}\\\\\\\" før:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Innstillingar for %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"innlevering lagt til: %{title}\\\"},\\\"pl\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- Na dół --\\\",\\\"cancel_caeb1e68\\\":\\\"Anuluj\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Kliknij, aby edytować; przeciągnij aby zmienić kolejność\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Edycja została zakończona\\\",\\\"manage_sections\\\":\\\"Zarządzaj sekcjami\\\"},\\\"confirm_delete_message\\\":\\\"Czy na pewno chcesz usunąć tę wiadomość?\\\",\\\"confirm_delete_page\\\":\\\"Czy usunąć tę stronę wraz z całą jej zawartością?\\\",\\\"confirm_delete_section\\\":\\\"Czy usunąć tę sekcję wraz z wszystkimi jej stronami?\\\",\\\"default_description\\\":\\\"To moje zadanie %{assignment} do kursu %{course}.\\\",\\\"eportfolio_settings\\\":\\\"Ustawienia ePortfolio\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Podczas tworzenia eportfolio wystąpił błąd. Spróbuj ponownie za chwilę.\\\",\\\"missing_file\\\":\\\"Wybierz plik\\\",\\\"name_required\\\":\\\"Wymagana jest nazwa\\\",\\\"name_too_long\\\":\\\"Nazwa jest zbyt długa\\\",\\\"section_name_invalid\\\":\\\"Nazwa sekcji jest nieprawidłowa\\\",\\\"section_name_too_long\\\":\\\"Nazwa sekcji jest zbyt długa\\\",\\\"upload_failed\\\":\\\"Przekazywanie nie powiodło się.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Dodaj stronę do przesyłanego zadania\\\",\\\"download_eportfolio\\\":\\\"Pobierz ePortfolio\\\",\\\"section_list\\\":\\\"Przeciągnij, aby ustawić kolejność; kliknij, aby edytować\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Przekazywanie obrazu/pliku\\\",\\\"html\\\":\\\"Zawartość osadzona/HTML\\\",\\\"rich_text\\\":\\\"Wzbogacona zawartość tekstowa\\\",\\\"submission\\\":\\\"Przesyłane zadanie\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Trwa gromadzenie zasobów dla ePortfolio. Jeśli w ePortfolio znajduje się duża liczba plików, może to chwilę potrwać.\\\"}}},\\\"move_abf00365\\\":\\\"Przenieś\\\",\\\"move_page_e25b123d\\\":\\\"Przenieś stronę\\\",\\\"move_section_d3866941\\\":\\\"Przenieś sekcję\\\",\\\"place_section_before_5b45714e\\\":\\\"Umieść \\\\\\\"%{section}\\\\\\\" przed:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Ustawienia dla %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"dodane materiały: %{title}\\\"},\\\"pt\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- Na parte inferior --\\\",\\\"cancel_caeb1e68\\\":\\\"Cancelar\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Clique para editar, arraste para reordenar\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Terminar a edição\\\",\\\"manage_sections\\\":\\\"Gerenciar secções\\\"},\\\"confirm_delete_message\\\":\\\"Tem certeza de que deseja excluir esta mensagem?\\\",\\\"confirm_delete_page\\\":\\\"Excluir esta página e todo seu conteúdo?\\\",\\\"confirm_delete_section\\\":\\\"Excluir esta seção e todas páginas?\\\",\\\"default_description\\\":\\\"Esta é minha entrega de %{assignment} para %{course}.\\\",\\\"eportfolio_settings\\\":\\\"Configurações do ePortfolio\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Houve um erro ao compilar seu ePortfolio. Tente novamente em alguns minutos.\\\",\\\"missing_file\\\":\\\"Selecione um arquivo\\\",\\\"name_required\\\":\\\"É necessário o nome\\\",\\\"name_too_long\\\":\\\"Nome demasiado comprido\\\",\\\"section_name_invalid\\\":\\\"O nome da secção não é válido\\\",\\\"section_name_too_long\\\":\\\"Nome da secção demasiado comprido\\\",\\\"upload_failed\\\":\\\"Falha no upload.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Adicionar página para envio\\\",\\\"download_eportfolio\\\":\\\"Baixar ePortfolio\\\",\\\"section_list\\\":\\\"Arraste para organizar, clique para editar\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Upload de imagem/arquivo\\\",\\\"html\\\":\\\"Conteúdo HTML/incorporado\\\",\\\"rich_text\\\":\\\"Conteúdo de rich text\\\",\\\"submission\\\":\\\"Envio da disciplina\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"A recolher recursos do ePortefólio. Esta operação pode demorar algum tempo se tiver muitos ficheiros no seu ePortefólio.\\\"}}},\\\"move_abf00365\\\":\\\"Mover\\\",\\\"move_page_e25b123d\\\":\\\"Mover página\\\",\\\"move_section_d3866941\\\":\\\"Mover seção\\\",\\\"place_section_before_5b45714e\\\":\\\"Colocar \\\\\\\"%{section}\\\\\\\" antes:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Configurações para %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"submissão adicionada: %{title}\\\"},\\\"pt-BR\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- Em posição baixa --\\\",\\\"cancel_caeb1e68\\\":\\\"Cancelar\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Clique para editar, arraste para reordenar\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Terminar a edição\\\",\\\"manage_sections\\\":\\\"Gerenciar turmas\\\"},\\\"confirm_delete_message\\\":\\\"Tem certeza que deseja excluir esta mensagem?\\\",\\\"confirm_delete_page\\\":\\\"Excluir esta página e todo seu conteúdo?\\\",\\\"confirm_delete_section\\\":\\\"Excluir esta seção e todas páginas?\\\",\\\"default_description\\\":\\\"Esta é minha entrega de %{assignment} para %{course}.\\\",\\\"eportfolio_settings\\\":\\\"Configurações do ePortfolio\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Houve um erro ao compilar seu ePortfolio. Tente novamente em alguns minutos.\\\",\\\"missing_file\\\":\\\"Selecione um arquivo\\\",\\\"name_required\\\":\\\"Nome é necessário\\\",\\\"name_too_long\\\":\\\"O nome é longo demais\\\",\\\"section_name_invalid\\\":\\\"Nome de seção não é válido\\\",\\\"section_name_too_long\\\":\\\"Nome de seção é longo demais\\\",\\\"upload_failed\\\":\\\"Falha no upload.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Adicionar página para envio\\\",\\\"download_eportfolio\\\":\\\"Baixar ePortfolio\\\",\\\"section_list\\\":\\\"Arraste para organizar, clique para editar\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Envio de imagem/arquivo\\\",\\\"html\\\":\\\"Conteúdo HTML/incorporado\\\",\\\"rich_text\\\":\\\"Conteúdo enriquecido\\\",\\\"submission\\\":\\\"Envio do curso\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Coletando recursos do ePortfolio, isso pode levar algum tempo se houver muitos arquivos em seu ePortfolio.\\\"}}},\\\"move_abf00365\\\":\\\"Mover\\\",\\\"move_page_e25b123d\\\":\\\"Mover página\\\",\\\"move_section_d3866941\\\":\\\"Mover seção\\\",\\\"place_section_before_5b45714e\\\":\\\"Coloque “%{section}” antes:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Configurações para %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"envio adicionado: %{title}\\\"},\\\"ru\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- Внизу --\\\",\\\"cancel_caeb1e68\\\":\\\"Отменить\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Щелкните для редактирования, перетащите для изменения порядка\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Редактирование завершено\\\",\\\"manage_sections\\\":\\\"Управление разделами\\\"},\\\"confirm_delete_message\\\":\\\"Действительно хотите удалить это сообщение?\\\",\\\"confirm_delete_page\\\":\\\"Удалить эту страницу и все ее содержание?\\\",\\\"confirm_delete_section\\\":\\\"Удалить этот раздел и все его страницы?\\\",\\\"default_description\\\":\\\"Это моя отправка %{assignment} для %{course}.\\\",\\\"eportfolio_settings\\\":\\\"Настройки ePortfolio\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"При компиляции eportfolio произошла ошибка. Повторите попытку через некоторое время.\\\",\\\"missing_file\\\":\\\"Выберите файл\\\",\\\"name_required\\\":\\\"Необходимо указать имя\\\",\\\"name_too_long\\\":\\\"Слишком длинное имя\\\",\\\"section_name_invalid\\\":\\\"Недопустимое название раздела\\\",\\\"section_name_too_long\\\":\\\"Слишком длинное название раздела\\\",\\\"upload_failed\\\":\\\"Ошибка загрузки.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Добавить страницу для отправки\\\",\\\"download_eportfolio\\\":\\\"Загрузка ePortfolio\\\",\\\"section_list\\\":\\\"Перетащите для упорядочивания, щелкните для редактирования\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Загрузка изображения/файла\\\",\\\"html\\\":\\\"HTML/встроенное содержимое\\\",\\\"rich_text\\\":\\\"Форматированный текст\\\",\\\"submission\\\":\\\"Отправка курса\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Сбор ресурсов ePortfolio. Если в ePortfolio много файлов, это может занять некоторое время.\\\"}}},\\\"move_abf00365\\\":\\\"Переместить\\\",\\\"move_page_e25b123d\\\":\\\"Переместить страницу\\\",\\\"move_section_d3866941\\\":\\\"Переместить раздел\\\",\\\"place_section_before_5b45714e\\\":\\\"Разместить \\\\\\\"%{section}\\\\\\\" до:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Настройки %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"добавлена сданная работа: %{title}\\\"},\\\"sl\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"– Na dnu –\\\",\\\"cancel_caeb1e68\\\":\\\"Prekliči\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Kliknite za urejanje in povlecite za preurejanje.\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Urejanje je dokončano.\\\",\\\"manage_sections\\\":\\\"Urejaj sekcije\\\"},\\\"confirm_delete_message\\\":\\\"Ali ste prepričani, da želite izbrisati to sporočilo?\\\",\\\"confirm_delete_page\\\":\\\"Ali želite izbrisati to stran in vso njeno vsebino?\\\",\\\"confirm_delete_section\\\":\\\"Ali želite izbrisati to sekcijo in vse njene strani?\\\",\\\"default_description\\\":\\\"To je oddaja moje naloge %{assignment} za predmet %{course}.\\\",\\\"eportfolio_settings\\\":\\\"Nastavitve ePortfelja\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Pri sestavljanju vašega ePortfelja je prišlo do napake. Malo počakajte in poskusite znova.\\\",\\\"missing_file\\\":\\\"Izberite datoteko.\\\",\\\"name_required\\\":\\\"Zahtevano je ime.\\\",\\\"name_too_long\\\":\\\"Ime je predolgo.\\\",\\\"section_name_invalid\\\":\\\"Ime sekcije ni veljavno.\\\",\\\"section_name_too_long\\\":\\\"Ime sekcije je predolgo.\\\",\\\"upload_failed\\\":\\\"Nalaganje ni uspelo.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Dodaj stran za oddajo\\\",\\\"download_eportfolio\\\":\\\"Prenesi ePortfelj\\\",\\\"section_list\\\":\\\"Povlecite za razvrščanje, kliknite za urejanje\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Nalaganje slike/datoteke\\\",\\\"html\\\":\\\"HTML/vdelana vsebina\\\",\\\"rich_text\\\":\\\"Vsebina besedila\\\",\\\"submission\\\":\\\"Oddaja pri predmetu\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Zbiranje virov ePortfelja; če imate v svojem ePortfelju veliko datotek, to lahko nekaj časa traja.\\\"}}},\\\"move_abf00365\\\":\\\"Premakni\\\",\\\"move_page_e25b123d\\\":\\\"Premakni stran\\\",\\\"move_section_d3866941\\\":\\\"Premakni sekcijo\\\",\\\"place_section_before_5b45714e\\\":\\\"Umesti »%{section}« pred:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Nastavitve za %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"oddaja je dodana: %{title}\\\"},\\\"sv\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- Längst ner --\\\",\\\"cancel_caeb1e68\\\":\\\"Avbryt\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Klicka för att redigera, dra och omorganisera\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Färdig med redigering\\\",\\\"manage_sections\\\":\\\"Hantera sektioner\\\"},\\\"confirm_delete_message\\\":\\\"Vill du verkligen radera det här meddelandet?\\\",\\\"confirm_delete_page\\\":\\\"Radera den här sidan och allt innehåll?\\\",\\\"confirm_delete_section\\\":\\\"Radera den här sektionen och alla dess sidor?\\\",\\\"default_description\\\":\\\"Det här är min %{assignment} inlämning för %{course}.\\\",\\\"eportfolio_settings\\\":\\\"ePortfolio-inställningar\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Ett fel uppstod när din ePortfolio sammanställdes. Försök igen senare.\\\",\\\"missing_file\\\":\\\"Välj en fil\\\",\\\"name_required\\\":\\\"Namn är obligatoriskt\\\",\\\"name_too_long\\\":\\\"Namnet är för långt\\\",\\\"section_name_invalid\\\":\\\"Sektionsnamnet är inte giltigt\\\",\\\"section_name_too_long\\\":\\\"Sektionsnamnet är för långt\\\",\\\"upload_failed\\\":\\\"Uppladdning misslyckades.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Lägg till sida för inlämning\\\",\\\"download_eportfolio\\\":\\\"Ladda ner ePortfolio\\\",\\\"section_list\\\":\\\"Dra för att ordna, Klicka för att redigera\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Bild-/filuppladdning\\\",\\\"html\\\":\\\"HTML/Inbäddat innehåll\\\",\\\"rich_text\\\":\\\"RTF-innehåll\\\",\\\"submission\\\":\\\"Kursinlämning\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Hämtar ePortfolions resurser. Det kan ta en stund om du har många filer i din ePortfolio.\\\"}}},\\\"move_abf00365\\\":\\\"Flytta\\\",\\\"move_page_e25b123d\\\":\\\"Flytta sida\\\",\\\"move_section_d3866941\\\":\\\"Flytta sektionen\\\",\\\"place_section_before_5b45714e\\\":\\\"Placera ”%{section}” före:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Inställningar för %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"Inlämning tillagt: %{title}\\\"},\\\"sv-x-k12\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- Längst ner --\\\",\\\"cancel_caeb1e68\\\":\\\"Avbryt\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Klicka för att redigera, dra och omorganisera\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Färdig med redigering\\\",\\\"manage_sections\\\":\\\"Hantera sektioner\\\"},\\\"confirm_delete_message\\\":\\\"Vill du verkligen radera det här meddelandet?\\\",\\\"confirm_delete_page\\\":\\\"Radera den här sidan och allt innehåll?\\\",\\\"confirm_delete_section\\\":\\\"Radera den här sektionen och alla dess sidor?\\\",\\\"default_description\\\":\\\"Det här är min %{assignment} inlämning för %{course}.\\\",\\\"eportfolio_settings\\\":\\\"ePortfolio-inställningar\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Ett fel uppstod när din ePortfolio sammanställdes. Försök igen senare.\\\",\\\"missing_file\\\":\\\"Välj en fil\\\",\\\"name_required\\\":\\\"Namn är obligatoriskt\\\",\\\"name_too_long\\\":\\\"Namnet är för långt\\\",\\\"section_name_invalid\\\":\\\"Sektionsnamnet är inte giltigt\\\",\\\"section_name_too_long\\\":\\\"Sektionsnamnet är för långt\\\",\\\"upload_failed\\\":\\\"Uppladdning misslyckades.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Lägg till sida för inlämning\\\",\\\"download_eportfolio\\\":\\\"Ladda ner ePortfolio\\\",\\\"section_list\\\":\\\"Dra för att ordna, Klicka för att redigera\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Bild-/filuppladdning\\\",\\\"html\\\":\\\"HTML/Inbäddat innehåll\\\",\\\"rich_text\\\":\\\"RTF-innehåll\\\",\\\"submission\\\":\\\"Kursinlämning\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Hämtar ePortfolions resurser. Det kan ta en stund om du har många filer i din ePortfolio.\\\"}}},\\\"move_abf00365\\\":\\\"Flytta\\\",\\\"move_page_e25b123d\\\":\\\"Flytta sida\\\",\\\"move_section_d3866941\\\":\\\"Flytta sektionen\\\",\\\"place_section_before_5b45714e\\\":\\\"Placera ”%{section}” före:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Inställningar för %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"Inlämning tillagt: %{title}\\\"},\\\"tr\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- Alt kısımda --\\\",\\\"cancel_caeb1e68\\\":\\\"İptal\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Düzenlemek için tıklayın, yeniden sıralamak için sürükleyin\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Düzenleme Tamamlandı\\\",\\\"manage_sections\\\":\\\"Bölümleri Yönet\\\"},\\\"confirm_delete_message\\\":\\\"Bu mesajı silmek istediğinize emin misiniz?\\\",\\\"confirm_delete_page\\\":\\\"Bu sayfa ve tüm içeriği silinsin mi?\\\",\\\"confirm_delete_section\\\":\\\"Bu bölüm ve tüm sayfaları silinsin mi?\\\",\\\"default_description\\\":\\\"Bu benim %{course} için gönderdiğim %{assignment}.\\\",\\\"eportfolio_settings\\\":\\\"ePortfolyo Ayarları\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Eportfolyonuz derlenirken bir hata oluştu. Lütfen kısa bir süre sonra tekrar deneyin.\\\",\\\"missing_file\\\":\\\"Lütfen bir dosya seçin\\\",\\\"name_required\\\":\\\"İsim zorunludur\\\",\\\"name_too_long\\\":\\\"İsim çok uzun\\\",\\\"section_name_invalid\\\":\\\"Bölüm ismi geçersiz\\\",\\\"section_name_too_long\\\":\\\"Bölüm ismi çok uzun\\\",\\\"upload_failed\\\":\\\"Yükleme Başarısız.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Göndermek için Sayfa Ekle\\\",\\\"download_eportfolio\\\":\\\"ePortfolyo İndir\\\",\\\"section_list\\\":\\\"Sıraya Koymak için Sürükleyin, Düzenlemek için Tıklayın\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Görsel/Dosya Yükleme\\\",\\\"html\\\":\\\"HTML/Gömülü İçerik\\\",\\\"rich_text\\\":\\\"Zengin Metin İçeriği\\\",\\\"submission\\\":\\\"Ders Gönderimi\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"ePortfolyo kaynakları toplanıyor. ePortfolyonuzda çok sayıda dosya varsa bu biraz sürebilir.\\\"}}},\\\"move_abf00365\\\":\\\"Taşı\\\",\\\"place_section_before_5b45714e\\\":\\\"\\\\\\\"%{section}\\\\\\\" den önce yerleştir:\\\",\\\"settings_for_title_d3ca495\\\":\\\" %{title} Ayarları\\\"},\\\"uk\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- Знизу --\\\",\\\"cancel_caeb1e68\\\":\\\"Скасувати\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"Натисніть, щоб редагувати, перетягніть, щоб змінити порядок\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"Завершити редагування\\\",\\\"manage_sections\\\":\\\"Керувати розділами\\\"},\\\"confirm_delete_message\\\":\\\"Ви впевнені, що хочете видалити це повідомлення?\\\",\\\"confirm_delete_page\\\":\\\"Видалити цю сторінку та весь її вміст?\\\",\\\"confirm_delete_section\\\":\\\"Видалити цей розділ та весь його вміст?\\\",\\\"default_description\\\":\\\"Це моє подання %{assignment}для %{course}.\\\",\\\"eportfolio_settings\\\":\\\"Налаштування для Е-портфоліо\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"Була виялена помилка компіляції Е-портфоліо. Будь ласка, спробуйте ще раз пізніше.\\\",\\\"missing_file\\\":\\\"Будь, ласка, виберіть файл\\\",\\\"name_required\\\":\\\"Ім'я обов'язкове\\\",\\\"name_too_long\\\":\\\"Ім'я занадто довге\\\",\\\"section_name_invalid\\\":\\\"Назва розділу недійсна\\\",\\\"section_name_too_long\\\":\\\"Назва розділу занадто довга\\\",\\\"upload_failed\\\":\\\"Не вдалося завантажити.\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"Додати сторінку для подання\\\",\\\"download_eportfolio\\\":\\\"Завантажити Е-портфоліо\\\",\\\"section_list\\\":\\\"Перетягніть, щоб впорядкувати, натисніть, щоб змінити\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"Завантаження зображення / файлу\\\",\\\"html\\\":\\\"HTML/вбудований контент\\\",\\\"rich_text\\\":\\\"Збагачений текстом контент\\\",\\\"submission\\\":\\\"Подання курсу\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"Збирання ресурсів Е-портфоліо. Це може зайняти деякий час, якщо у вас багато файлів в вашому Е-портфоліо.\\\"}}},\\\"move_abf00365\\\":\\\"Перемітитися\\\",\\\"move_page_e25b123d\\\":\\\"Перемістити сторінку\\\",\\\"move_section_d3866941\\\":\\\"Перемістити розділ\\\",\\\"place_section_before_5b45714e\\\":\\\"Розмістити \\\\\\\"%{section}\\\\\\\" до:\\\",\\\"settings_for_title_d3ca495\\\":\\\"Налаштування для %{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"Завдання додано: %{title}\\\"},\\\"zh-Hans\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- 在底部 --\\\",\\\"cancel_caeb1e68\\\":\\\"取消\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"单击可编辑,拖放可重新排序\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"完成编辑\\\",\\\"manage_sections\\\":\\\"管理章节\\\"},\\\"confirm_delete_message\\\":\\\"是否确定要删除此消息?\\\",\\\"confirm_delete_page\\\":\\\"删除此页及其所有内容?\\\",\\\"confirm_delete_section\\\":\\\"删除此章节及其所有页面?\\\",\\\"default_description\\\":\\\"这是我在 %{course} 中提交的 %{assignment}。\\\",\\\"eportfolio_settings\\\":\\\"电子学习档案设置\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"编译电子学习档案时出错。请稍后重试。\\\",\\\"missing_file\\\":\\\"请选择文件\\\",\\\"name_required\\\":\\\"需要姓名\\\",\\\"name_too_long\\\":\\\"姓名太长\\\",\\\"section_name_invalid\\\":\\\"章节名无效\\\",\\\"section_name_too_long\\\":\\\"章节名太长\\\",\\\"upload_failed\\\":\\\"上传失败。\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"添加提交文件页面\\\",\\\"download_eportfolio\\\":\\\"下载电子学习档案\\\",\\\"section_list\\\":\\\"拖放可排列,单击可编辑\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"图像/文件上传\\\",\\\"html\\\":\\\"HTML/嵌入内容\\\",\\\"rich_text\\\":\\\"富文本内容\\\",\\\"submission\\\":\\\"课程提交\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"正在收集电子学习档案资源。如果电子学习档案中的文件较多,这可能需要一些时间。\\\"}}},\\\"move_abf00365\\\":\\\"移动\\\",\\\"move_page_e25b123d\\\":\\\"移动页面\\\",\\\"move_section_d3866941\\\":\\\"移动班级\\\",\\\"place_section_before_5b45714e\\\":\\\"将“%{section}”放在前面:\\\",\\\"settings_for_title_d3ca495\\\":\\\"设置%{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"已添加提交项:%{title}\\\"},\\\"zh-Hant\\\":{\\\"_at_the_bottom__4360f2b4\\\":\\\"-- 在底部 --\\\",\\\"cancel_caeb1e68\\\":\\\"取消\\\",\\\"click_to_edit_drag_to_reorder_ab725681\\\":\\\"按一下以編輯,拖放以重新排序\\\",\\\"eportfolio\\\":{\\\"buttons\\\":{\\\"done_editing\\\":\\\"已完成編輯\\\",\\\"manage_sections\\\":\\\"管理章節\\\"},\\\"confirm_delete_message\\\":\\\"是否確定要刪除此訊息?\\\",\\\"confirm_delete_page\\\":\\\"刪除此頁面及其所有內容?\\\",\\\"confirm_delete_section\\\":\\\"刪除此章節及其所有頁面?\\\",\\\"default_description\\\":\\\"這是我關於 %{course} 的 %{assignment} 提交件。\\\",\\\"eportfolio_settings\\\":\\\"電子檔案袋設置\\\",\\\"errors\\\":{\\\"compiling\\\":\\\"編譯電子檔案袋時出現錯誤。請稍後再試一次。\\\",\\\"missing_file\\\":\\\"請選擇文檔\\\",\\\"name_required\\\":\\\"名稱必填\\\",\\\"name_too_long\\\":\\\"名稱太長\\\",\\\"section_name_invalid\\\":\\\"章節名稱無效\\\",\\\"section_name_too_long\\\":\\\"章節名稱太長\\\",\\\"upload_failed\\\":\\\"上傳失敗。\\\"},\\\"titles\\\":{\\\"add_submission\\\":\\\"添加提交頁面\\\",\\\"download_eportfolio\\\":\\\"下載電子檔案袋\\\",\\\"section_list\\\":\\\"拖放以進行排列,按一下以進行編輯\\\"}},\\\"eportfolios\\\":{\\\"_page_section\\\":{\\\"section_types\\\":{\\\"attachment\\\":\\\"影像/文檔上傳\\\",\\\"html\\\":\\\"HTML / 嵌入的內容\\\",\\\"rich_text\\\":\\\"RTF 內容\\\",\\\"submission\\\":\\\"課程提交件\\\"}},\\\"show\\\":{\\\"headers\\\":{\\\"export_progress\\\":\\\"正在收集電子檔案袋資源。如果您的電子檔案袋中有大量文檔,那麼這可能需要一段時間。\\\"}}},\\\"move_abf00365\\\":\\\"移動\\\",\\\"move_page_e25b123d\\\":\\\"移動內容頁\\\",\\\"move_section_d3866941\\\":\\\"移動班別\\\",\\\"place_section_before_5b45714e\\\":\\\"在 \\\\\\\"%{section}\\\\\\\" 前放置:\\\",\\\"settings_for_title_d3ca495\\\":\\\" 的設定%{title}\\\",\\\"submission_added_title_50ebdc85\\\":\\\"加入提交:%{title}\\\"}}\"));\n","\n import I18n from '@canvas/i18n/i18nObj';\n \n import 'translations/eportfolio';\n import 'translations/_core';\n \n import 'translations/_core_en';\n\n export default I18n.scoped('eportfolio');\n ","/*\n * Copyright (C) 2016 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see .\n */\n\nimport {Button} from '@instructure/ui-buttons'\nimport {FormField} from '@instructure/ui-form-field'\nimport I18n from 'i18n!eportfolio'\nimport Modal from '@canvas/instui-bindings/react/InstuiModal'\nimport PropTypes from 'prop-types'\nimport React from 'react'\n\nclass MoveToDialog extends React.Component {\n static propTypes = {\n header: PropTypes.string.isRequired,\n source: PropTypes.object.isRequired,\n destinations: PropTypes.arrayOf(PropTypes.object).isRequired,\n onMove: PropTypes.func,\n onClose: PropTypes.func,\n appElement: PropTypes.object,\n triggerElement: PropTypes.object\n }\n\n state = {\n isOpen: true\n }\n\n handleMove = () => {\n if (this.props.onMove) {\n this.props.onMove(this.refs.select.value)\n }\n this.handleRequestClose()\n }\n\n handleRequestClose = () => {\n this.setState({isOpen: false})\n }\n\n handleClose = () => {\n if (this.props.appElement) {\n this.props.appElement.removeAttribute('aria-hidden')\n }\n if (this.props.triggerElement) {\n this.props.triggerElement.focus()\n }\n if (this.props.onClose) {\n this.props.onClose()\n }\n }\n\n handleReady = () => {\n if (this.props.appElement) {\n this.props.appElement.setAttribute('aria-hidden', true)\n }\n }\n\n renderBody = () => {\n const selectLabel = I18n.t('Place \"%{section}\" before:', {\n section: this.props.source.label\n })\n\n return (\n \n \n \n )\n }\n\n render() {\n return (\n \n {this.renderBody()}\n \n \n \n \n \n )\n }\n}\n\nexport default MoveToDialog\n","/*\n * Copyright (C) 2016 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see .\n */\n\nexport function fetchContent($section, section_type, name) {\n const data = {}\n if (section_type == 'rich_text') {\n data[name + '[section_type]'] = 'rich_text'\n const editorContent = $section.find('.section_content').html()\n if (editorContent) {\n data[name + '[content]'] = editorContent\n }\n } else if (section_type == 'html') {\n data[name + '[section_type]'] = 'html'\n data[name + '[content]'] = $section.find('.edit_section').val()\n } else if (section_type == 'submission') {\n data[name + '[section_type]'] = 'submission'\n data[name + '[submission_id]'] = $section.getTemplateData({\n textValues: ['submission_id']\n }).submission_id\n } else if (section_type == 'attachment') {\n data[name + '[section_type]'] = 'attachment'\n data[name + '[attachment_id]'] = $section.getTemplateData({\n textValues: ['attachment_id']\n }).attachment_id\n }\n return data\n}\n","/*\n * Copyright (C) 2011 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see .\n */\n\n// There's technically a security vulnerability here. Since we let\n// the user insert arbitrary content into their page, it's possible\n// they'll create elements with the same class names we're using to\n// find endpoints for updating settings and content. However, since\n// only the portfolio's owner can set this content, it seems like\n// the worst they can do is override endpoint urls for eportfolio\n// settings on their own personal eportfolio, they can't\n// affect anyone else\n\nimport I18n from 'i18n!eportfolio'\nimport $ from 'jquery'\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport userSettings from '@canvas/user-settings'\nimport RichContentEditor from '@canvas/rce/RichContentEditor'\nimport MoveToDialog from '../react/MoveToDialog'\nimport {fetchContent} from './eportfolio_section'\nimport sanitizeHtml from 'sanitize-html-with-tinymce'\nimport '@canvas/jquery/jquery.ajaxJSON'\nimport 'jquery-tree' /* instTree */\nimport '@canvas/forms/jquery/jquery.instructure_forms' /* formSubmit, getFormData, formErrors, errorBox */\nimport 'jqueryui/dialog'\nimport '@canvas/util/jquery/fixDialogButtons'\nimport '@canvas/rails-flash-notifications' /* $.screenReaderFlashMessageExclusive */\nimport '@canvas/jquery/jquery.instructure_misc_helpers' /* replaceTags, scrollSidebar */\nimport '@canvas/jquery/jquery.instructure_misc_plugins' /* confirmDelete, showIf */\nimport '@canvas/loading-image'\nimport '@canvas/util/templateData' /* fillTemplateData, getTemplateData */\nimport 'jquery-scroll-to-visible/jquery.scrollTo'\nimport 'jqueryui/progressbar'\nimport 'jqueryui/sortable'\n\n// optimization so user isn't waiting on RCS to\n// respond when they hit edit\nRichContentEditor.preloadRemoteModule()\n\nconst ePortfolioValidations = {\n object_name: 'eportfolio',\n property_validations: {\n name(value) {\n if (!value || value.trim() == '') {\n return I18n.t('errors.name_required', 'Name is required')\n }\n if (value && value.length > 255) {\n return I18n.t('errors.name_too_long', 'Name is too long')\n }\n }\n }\n}\n\nfunction ePortfolioFormData() {\n let data = $('#edit_page_form').getFormData({\n object_name: 'eportfolio_entry',\n values: [\n 'eportfolio_entry[name]',\n 'eportfolio_entry[allow_comments]',\n 'eportfolio_entry[show_comments]'\n ]\n })\n let idx = 0\n $('#edit_page_form .section').each(function() {\n const $section = $(this)\n const section_type = $section.getTemplateData({textValues: ['section_type']}).section_type\n if (section_type == 'rich_text' || section_type == 'html' || $section.hasClass('read_only')) {\n idx++\n const name = 'section_' + idx\n const sectionContent = fetchContent($section, section_type, name)\n data = $.extend(data, sectionContent)\n }\n })\n data.section_count = idx\n return data\n}\n\nfunction _saveList(parent, prefix, anchor) {\n const ids = $(parent).sortable('toArray')\n const valid_ids = []\n for (const idx in ids) {\n let id = ids[idx]\n id = id.substring(prefix.length)\n if (!isNaN(id)) {\n valid_ids.push(id)\n }\n }\n const order = valid_ids.join(',')\n const data = {order}\n $(parent).loadingImage({image_size: 'small'})\n $.ajaxJSON($(anchor).attr('href'), 'POST', data, data => {\n $(parent).loadingImage('remove')\n })\n}\n\nfunction saveSectionList() {\n _saveList('#section_list', 'section_', '.reorder_sections_url')\n}\n\nfunction savePageList() {\n _saveList('#page_list', 'page_', '.reorder_pages_url')\n}\n\nfunction showMoveDialog(source, destinations, triggerElement, dialogLabel, onMove) {\n const appElement = document.querySelector('#application')\n let modalRoot = document.querySelector('#eportfolios_move_to_modal_root')\n if (!modalRoot) {\n $('#application').append('
')\n modalRoot = document.querySelector('#eportfolios_move_to_modal_root')\n }\n ReactDOM.render(\n {\n ReactDOM.unmountComponentAtNode(modalRoot)\n })\n }}\n onMove={onMove}\n />,\n modalRoot\n )\n}\n\n$(document).ready(function() {\n $('.portfolio_settings_link').click(event => {\n event.preventDefault()\n $('#edit_eportfolio_form')\n .dialog({\n width: 'auto',\n title: I18n.t('eportfolio_settings', 'ePortfolio Settings')\n })\n .fixDialogButtons()\n })\n // Add ePortfolio related\n $('.add_eportfolio_link').click(function(event) {\n event.preventDefault()\n $('#whats_an_eportfolio').slideToggle()\n $('#add_eportfolio_form').slideToggle(function() {\n $(this)\n .find(':text:first')\n .focus()\n .select()\n })\n })\n $('#add_eportfolio_form .cancel_button').click(() => {\n $('#add_eportfolio_form').slideToggle()\n $('#whats_an_eportfolio').slideToggle()\n })\n $('#add_eportfolio_form').submit(function() {\n const $this = $(this)\n const result = $this.validateForm(ePortfolioValidations)\n if (!result) {\n return false\n }\n })\n // Edit ePortfolio related\n $('#edit_eportfolio_form .cancel_button').click(event => {\n $('#edit_eportfolio_form').dialog('close')\n })\n $('#edit_eportfolio_form').formSubmit(\n $.extend(ePortfolioValidations, {\n beforeSubmit(data) {\n $(this).loadingImage()\n },\n success(data) {\n $(this).loadingImage('remove')\n $(this).dialog('close')\n }\n })\n )\n $('.edit_content_link').click(function(event) {\n event.preventDefault()\n $('.edit_content_link_holder').hide()\n $('#page_content').addClass('editing')\n $('#edit_page_form').addClass('editing')\n $('#page_sidebar').addClass('editing')\n $('#edit_page_form .section').each(function() {\n const $section = $(this)\n const sectionData = $section.getTemplateData({\n textValues: ['section_type'],\n htmlValues: ['section_content']\n })\n sectionData.section_content = $.trim(sectionData.section_content)\n const section_type = sectionData.section_type\n const edit_type = 'edit_' + section_type + '_content'\n\n const $edit = $('#edit_content_templates .' + edit_type).clone(true)\n $section.append($edit.show())\n if (edit_type == 'edit_html_content') {\n $edit.find('.edit_section').attr('id', 'edit_' + $section.attr('id'))\n $edit.find('.edit_section').val(sectionData.section_content)\n } else if (edit_type == 'edit_rich_text_content') {\n const $richText = $edit.find('.edit_section')\n $richText.attr('id', 'edit_' + $section.attr('id'))\n RichContentEditor.loadNewEditor($richText, {defaultContent: sectionData.section_content})\n }\n })\n $('#edit_page_form :text:first')\n .focus()\n .select()\n $('#page_comments_holder').hide()\n $(document).triggerHandler('editing_page')\n })\n $('#edit_page_form')\n .find('.allow_comments')\n .change(function() {\n $('#edit_page_form .show_comments_box').showIf($(this).attr('checked'))\n })\n .change()\n $('#edit_page_sidebar .submit_button').click(event => {\n $('#edit_page_form').submit()\n })\n $('#edit_page_form,#edit_page_sidebar')\n .find('button.preview_button')\n .click(function() {\n $('#page_content .section.failed').remove()\n $('#edit_page_form,#page_content,#page_sidebar').addClass('previewing')\n $('#page_content .section').each(function() {\n const $section = $(this)\n const $preview = $section\n .find('.section_content')\n .clone()\n .removeClass('section_content')\n .addClass('preview_content')\n .addClass('preview_section')\n const section_type = $section.getTemplateData({textValues: ['section_type']}).section_type\n if (section_type == 'html') {\n // xsslint safeString.function sanitizeHtml\n $preview.html(sanitizeHtml($section.find('.edit_section').val()))\n $section.find('.section_content').after($preview)\n } else if (section_type == 'rich_text') {\n const $richText = $section.find('.edit_section')\n const editorContent = RichContentEditor.callOnRCE($richText, 'get_code')\n if (editorContent) {\n $preview.html($.raw(editorContent))\n }\n $section.find('.section_content').after($preview)\n }\n })\n })\n .end()\n .find('.keep_editing_button')\n .click(() => {\n $('#edit_page_form,#page_content,#page_sidebar').removeClass('previewing')\n $('#page_content .preview_section').remove()\n })\n .end()\n .find('.cancel_button')\n .click(function() {\n $('#edit_page_form .edit_rich_text_content .edit_section').each(function() {\n RichContentEditor.destroyRCE($(this))\n })\n $('#edit_page_form,#page_content,#page_sidebar').removeClass('editing')\n $('#page_content .section.unsaved').remove()\n $('.edit_content_link_holder').show()\n $('#edit_page_form .edit_section').each(function() {\n $(this).remove()\n })\n $('#page_content .section .form_content').remove()\n $('#page_comments_holder').show()\n })\n $('#edit_page_form').formSubmit({\n processData(data) {\n $('#page_content .section.unsaved').removeClass('unsaved')\n $('#page_content .section.failed').remove()\n $('#page_content .section').each(function() {\n const $section = $(this)\n const section_type = $section.getTemplateData({textValues: ['section_type']}).section_type\n if (section_type == 'rich_text' || section_type == 'html') {\n if (section_type == 'rich_text') {\n const $richText = $section.find('.edit_section')\n const editorContent = RichContentEditor.callOnRCE($richText, 'get_code')\n if (editorContent) {\n $section.find('.section_content').html($.raw(editorContent))\n }\n RichContentEditor.destroyRCE($richText)\n } else {\n const code = sanitizeHtml($section.find('.edit_section').val())\n $section.find('.section_content').html($.raw(code))\n }\n } else if (!$section.hasClass('read_only')) {\n $section.remove()\n }\n })\n var data = ePortfolioFormData()\n return data\n },\n beforeSubmit(data) {\n $('#edit_page_form .edit_rich_text_content .edit_section').each(function() {\n RichContentEditor.destroyRCE($(this))\n })\n $('#edit_page_form,#page_content,#page_sidebar')\n .removeClass('editing')\n .removeClass('previewing')\n $('#page_content .section.unsaved,#page_content .section .form_content').remove()\n $('#edit_page_form .edit_section').each(function() {\n $(this).remove()\n })\n $(this).loadingImage()\n },\n success(data) {\n $(document).triggerHandler('page_updated', data)\n $('.edit_content_link_holder').show()\n if (data.eportfolio_entry.allow_comments) {\n $('#page_comments_holder').slideDown('fast')\n }\n $(this).loadingImage('remove')\n }\n })\n $('#edit_page_form .switch_views_link').click(function(event) {\n event.preventDefault()\n RichContentEditor.callOnRCE($('#edit_page_content'), 'toggle')\n // todo: replace .andSelf with .addBack when JQuery is upgraded.\n $(this)\n .siblings('.switch_views_link')\n .andSelf()\n .toggle()\n .focus()\n })\n $('#edit_page_sidebar .add_content_link').click(function(event) {\n event.preventDefault()\n $('#edit_page_form .keep_editing_button:first').click()\n const $section = $('#page_section_blank')\n .clone(true)\n .attr('id', 'page_section_' + ENV.SECTION_COUNT_IDX)\n $section.addClass('unsaved')\n $section.attr('id', 'page_section_' + ENV.SECTION_COUNT_IDX++)\n $('#page_content').append($section)\n let section_type = 'rich_text'\n let section_type_name = I18n.t(\n '#eportfolios._page_section.section_types.rich_text',\n 'Rich Text Content'\n )\n if ($(this).hasClass('add_html_link')) {\n section_type = 'html'\n section_type_name = I18n.t(\n '#eportfolios._page_section.section_types.html',\n 'HTML/Embedded Content'\n )\n } else if ($(this).hasClass('add_submission_link')) {\n section_type = 'submission'\n section_type_name = I18n.t(\n '#eportfolios._page_section.section_types.submission',\n 'Course Submission'\n )\n } else if ($(this).hasClass('add_file_link')) {\n section_type = 'attachment'\n section_type_name = I18n.t(\n '#eportfolios._page_section.section_types.attachment',\n 'Image/File Upload'\n )\n }\n const edit_type = 'edit_' + section_type + '_content'\n $section.fillTemplateData({\n data: {section_type, section_type_name}\n })\n const $edit = $('#edit_content_templates .' + edit_type).clone(true)\n $section.append($edit.show())\n if (edit_type == 'edit_html_content') {\n $edit.find('.edit_section').attr('id', 'edit_' + $section.attr('id'))\n } else if (edit_type == 'edit_rich_text_content') {\n const $richText = $edit.find('.edit_section')\n $richText.attr('id', 'edit_' + $section.attr('id'))\n RichContentEditor.loadNewEditor($richText, {focus: true, defaultContent: ''})\n }\n $section.hide().slideDown('fast', () => {\n $('html,body').scrollTo($section)\n if (section_type == 'html') {\n $edit\n .find('.edit_section')\n .focus()\n .select()\n }\n if (section_type == 'submission') {\n $edit.find('.submission:first .text').focus()\n }\n })\n })\n $('.delete_page_section_link').click(function(event) {\n event.preventDefault()\n $(this)\n .parents('.section')\n .confirmDelete({\n success() {\n $(this).slideUp(function() {\n $(this).remove()\n })\n }\n })\n })\n $('#page_content').sortable({\n handle: '.move_link',\n helper: 'clone',\n axis: 'y',\n start(event, ui) {\n const $section = $(ui.item)\n if ($section.getTemplateData({textValues: ['section_type']}).section_type == 'rich_text') {\n const $richText = $section.find('.edit_section')\n RichContentEditor.destroyRCE($richText)\n }\n },\n stop(event, ui) {\n const $section = $(ui.item)\n if ($section.getTemplateData({textValues: ['section_type']}).section_type == 'rich_text') {\n const $richText = $section.find('.edit_section')\n RichContentEditor.loadNewEditor($richText)\n }\n }\n })\n $('#page_content')\n .delegate('.cancel_content_button', 'click', function(event) {\n event.preventDefault()\n $(this)\n .parents('.section')\n .slideUp(function() {\n $(this).remove()\n })\n })\n .delegate('.select_submission_button', 'click', function(event) {\n event.preventDefault()\n const $section = $(this).parents('.section')\n const $selection = $section.find('.submission_list li.active-leaf:first')\n if ($selection.length === 0) {\n return\n }\n const url = $selection.find('.submission_info').attr('href')\n const title = $selection.find('.submission_info').text()\n const id = $selection.attr('id').substring(11)\n $section.fillTemplateData({\n data: {submission_id: id}\n })\n const $sectionContent = $section.find('.section_content')\n $sectionContent.empty()\n const $frame = $('#edit_content_templates')\n .find('.submission_preview')\n .clone()\n $frame.attr('src', url)\n $sectionContent.append($frame)\n $section.addClass('read_only')\n $(this).focus()\n $.screenReaderFlashMessageExclusive(I18n.t('submission added: %{title}', {title}))\n })\n .delegate('.upload_file_button', 'click', function(event) {\n event.preventDefault()\n event.stopPropagation()\n const $section = $(this).parents('.section')\n const $message = $('#edit_content_templates')\n .find('.uploading_file')\n .clone()\n const $upload = $(this)\n .parents('.section')\n .find('.file_upload')\n\n if (!$upload.val() && $section.find('.file_list .leaf.active').length === 0) {\n return\n }\n\n $message.fillTemplateData({\n data: {file_name: $upload.val()}\n })\n $(this)\n .parents('.section')\n .find('.section_content')\n .empty()\n .append($message.show())\n const $form = $('#upload_file_form')\n .clone(true)\n .attr('id', '')\n $('body').append($form.css({position: 'absolute', zIndex: -1}))\n $form.data('section', $section)\n $form\n .find('.file_upload')\n .remove()\n .end()\n .append($upload)\n .submit()\n $section.addClass('read_only')\n })\n $('#upload_file_form').formSubmit({\n fileUpload: true,\n fileUploadOptions: {\n preparedFileUpload: true,\n upload_only: true,\n singleFile: true,\n context_code: ENV.context_code,\n folder_id: ENV.folder_id,\n formDataTarget: 'uploadDataUrl'\n },\n object_name: 'attachment',\n processData(data) {\n if (!data.uploaded_data) {\n const $section = $(this).data('section')\n const $file = $section.find('.file_list .leaf.active')\n // If the user has selected a file from the list instead of uploading\n if ($file.length > 0) {\n var data = $file.getTemplateData({textValues: ['id', 'name']})\n const id = data.id\n const uuid = $('#file_uuid_' + id).text()\n const name = data.name\n $section.find('.attachment_id').text(id)\n let url = $('.eportfolio_download_url').attr('href')\n url = $.replaceTags(url, 'uuid', uuid)\n if ($file.hasClass('image')) {\n const $image = $('#eportfolio_view_image')\n .clone(true)\n .removeAttr('id')\n $image\n .find('.eportfolio_image')\n .attr('src', url)\n .attr('alt', name)\n $image.find('.eportfolio_download').attr('href', url)\n $section\n .find('.section_content')\n .empty()\n .append($image)\n } else {\n const $download = $('#eportfolio_download_file')\n .clone(true)\n .removeAttr('id')\n $download.fillTemplateData({\n data: {filename: data.name}\n })\n $download.find('.eportfolio_download').attr('href', url)\n $section\n .find('.section_content')\n .empty()\n .append($download)\n }\n $(this).remove()\n } else {\n $(this).errorBox(I18n.t('errors.missing_file', 'Please select a file'))\n }\n return false\n }\n },\n success(attachment) {\n const $section = $(this).data('section')\n $section.find('.attachment_id').text(attachment.id)\n let url = $('.eportfolio_download_url').attr('href')\n url = $.replaceTags(url, 'uuid', attachment.uuid)\n if (attachment['content-type'].indexOf('image') != -1) {\n const $image = $('#eportfolio_view_image')\n .clone(true)\n .removeAttr('id')\n $image\n .find('.eportfolio_image')\n .attr('src', url)\n .attr('alt', attachment.display_name)\n $image.find('.eportfolio_download').attr('href', url)\n $section\n .find('.section_content')\n .empty()\n .append($image)\n } else {\n const $download = $('#eportfolio_download_file')\n .clone(true)\n .removeAttr('id')\n $download.fillTemplateData({\n data: {filename: attachment.display_name}\n })\n $download.find('.eportfolio_download').attr('href', url)\n $section\n .find('.section_content')\n .empty()\n .append($download)\n }\n $(this).remove()\n },\n error(data) {\n const $section = $(this).data('section')\n $section.find('.uploading_file').text(I18n.t('errors.upload_failed', 'Upload Failed.'))\n $section.addClass('failed')\n $(this).remove()\n $section.formErrors(data.errors || data)\n }\n })\n $('#recent_submissions .submission').keydown(function(event) {\n const count = $(event.target).closest('a').length\n if (count === 0 || count === 1) {\n const code = event.which\n if (code === 13 || code === 32) {\n if (count === 0) {\n // Add Submission\n $(this).click()\n } else if (count === 1) {\n // Open Submission\n $(event.target)\n .closest('a')[0]\n .click()\n }\n }\n }\n })\n $('#recent_submissions .submission').click(function(event) {\n if ($(event.target).closest('a').length === 0) {\n event.preventDefault()\n event.stopPropagation()\n $(this).removeClass('active-leaf')\n $('#category_select').triggerHandler('change')\n const id = $(this).getTemplateData({textValues: ['submission_id']}).submission_id\n $('#add_submission_form .submission_id').val(id)\n const assignment = $(this)\n .find('.assignment_title')\n .text()\n const context = $(this)\n .find('.context_name')\n .text()\n $('#add_submission_form .submission_description').val(\n I18n.t('default_description', 'This is my %{assignment} submission for %{course}.', {\n assignment,\n course: context\n })\n )\n $('#add_submission_form')\n .dialog({\n title: I18n.t('titles.add_submission', 'Add Page for Submission'),\n width: 400,\n open() {\n $(this)\n .find(':text:visible:first')\n .val(assignment)\n .focus()\n .select()\n $(document).triggerHandler('submission_dialog_opened')\n }\n })\n .fixDialogButtons()\n }\n })\n $('#add_submission_form .cancel_button').click(() => {\n $('#add_submission_form').dialog('close')\n })\n $('#add_submission_form').formSubmit({\n processData(data) {\n const url = $(this)\n .find('.add_eportfolio_entry_url')\n .attr('href')\n $(this).attr('action', url)\n },\n beforeSubmit(data) {\n $(this).loadingImage()\n },\n success(data) {\n $(this).loadingImage('remove')\n $(this).dialog('close')\n const entry = data.eportfolio_entry\n try {\n const submission_id = entry.content[1].submission_id\n $('#submission_' + submission_id + ',#recent_submission_' + submission_id).addClass(\n 'already_used'\n )\n } catch (e) {}\n let url = $(this)\n .find('.eportfolio_named_entry_url')\n .attr('href')\n url = $.replaceTags(url, 'category_slug', entry.category_slug)\n url = $.replaceTags(url, 'slug', entry.slug)\n location.href = url\n $(document).triggerHandler('page_added', data)\n }\n })\n $('#category_select')\n .change(function(event) {\n const id = $(this).val()\n if (id == 'new') {\n return\n }\n $('#page_select_list .page_select:not(#page_select_blank)').remove()\n $('#structure_category_' + id)\n .find('.entry_list li.entry')\n .each(function() {\n const $page = $('#page_select_blank')\n .clone(true)\n .removeAttr('id')\n $page.text($(this).getTemplateData({textValues: ['name']}).name)\n $('#page_select_list').append($page.show())\n })\n })\n .triggerHandler('change')\n\n $('.delete_comment_link').click(function(event) {\n event.preventDefault()\n $(this)\n .parents('.comment')\n .confirmDelete({\n url: $(this).attr('href'),\n message: I18n.t('confirm_delete_message', 'Are you sure you want to delete this message?'),\n success(data) {\n $(this).slideUp(function() {\n $(this).remove()\n })\n }\n })\n })\n $('.delete_eportfolio_link').click(event => {\n event.preventDefault()\n $('#delete_eportfolio_form').toggle(() => {\n $('html,body').scrollTo($('#delete_eportfolio_form'))\n })\n })\n $(document).blur(() => {})\n})\n\n$(document).ready(function() {\n $('.submission_list').instTree({\n multi: false,\n dragdrop: false\n })\n $('.file_list > ul').instTree({\n autoclose: false,\n multi: false,\n dragdrop: false,\n overrideEvents: true,\n onClick(e, node) {\n $(this)\n .parents('.file_list')\n .find('li.active')\n .removeClass('active')\n $(this).addClass('active')\n if ($(this).hasClass('file')) {\n const id = $(this).getTemplateData({textValues: ['id']}).id\n }\n }\n })\n})\n\nfunction hideEditObject(type) {\n const $box = $('#' + type + '_name_holder')\n const $input = $('#' + type + '_name')\n const val = $input.val()\n const $obj = $box.parents('li.' + type)\n $obj.find('.name').text(val)\n if ($obj.parent('ul').length > 0) {\n $box.hide().appendTo($('body'))\n $obj.find('.' + type + '_url').show()\n }\n if ($obj.attr('id') == type + '_new') {\n $obj.remove()\n }\n}\nfunction saveObject($obj, type) {\n const isSaving = $obj.data('event_pending')\n if (isSaving || $obj.length === 0) {\n return\n }\n let method = 'PUT'\n let url = $obj.find('.rename_' + type + '_url').attr('href')\n if ($obj.attr('id') == type + '_new') {\n method = 'POST'\n url = $('.add_' + type + '_url').attr('href')\n }\n const $objs = $obj.parents('ul').find('.' + type + ':not(.unsaved)')\n let newName = $obj.find('#' + type + '_name').val()\n $objs.each(function() {\n if (\n this != $obj[0] &&\n $(this)\n .find('.name')\n .text() == newName\n ) {\n newName = ''\n }\n })\n if (!newName) {\n return false\n }\n let object_name = 'eportfolio_category'\n if (type == 'page') {\n object_name = 'eportfolio_entry'\n }\n const data = {}\n data[object_name + '[name]'] = newName\n if (type == 'page') {\n data[object_name + '[eportfolio_category_id]'] = $('#eportfolio_category_id').text()\n }\n if (method == 'POST') {\n $obj.attr('id', type + '_saving')\n }\n $obj.data('event_pending', true)\n $obj.addClass('event_pending')\n $.ajaxJSON(\n url,\n method,\n data,\n data => {\n $obj.removeClass('event_pending')\n $obj.removeClass('unsaved')\n const obj = data[object_name]\n if (method == 'POST') {\n $obj.remove()\n $(document).triggerHandler(type + '_added', data)\n } else {\n $(document).triggerHandler(type + '_updated', data)\n }\n $obj.fillTemplateData({\n data: obj,\n id: type + '_' + obj.id,\n hrefValues: ['id', 'slug']\n })\n $obj.data('event_pending', false)\n countObjects(type)\n },\n // error callback\n (data, xhr, textStatus, errorThrown) => {\n $obj.removeClass('event_pending')\n $obj.data('event_pending', false)\n let name_message = I18n.t('errors.section_name_invalid', 'Section name is not valid')\n if (xhr.name && xhr.name.length > 0 && xhr.name[0].message == 'too_long') {\n name_message = I18n.t('errors.section_name_too_long', 'Section name is too long')\n }\n if ($obj.hasClass('unsaved')) {\n alert(name_message)\n $obj.remove()\n } else {\n // put back in \"edit\" mode\n $obj.find('.edit_section_link').click()\n $obj\n .find('#section_name')\n .errorBox(name_message)\n .css('z-index', 20)\n }\n },\n // options\n {skipDefaultError: true}\n )\n return true\n}\nfunction editObject($obj, type) {\n const $name = $obj.find('.' + type + '_url')\n let width = $name.outerWidth() - 30\n if (type == 'page') {\n width = 145\n } else {\n width = 145\n }\n const $box = $('#' + type + '_name_holder')\n const $input = $('#' + type + '_name')\n $input.width(width)\n $name.hide().before($box)\n $input.val($.trim($name.find('.name').text()))\n $box.show()\n $input.focus().select()\n}\nfunction countObjects(type) {\n const cnt = $('#' + type + '_list .' + type + ':not(.unsaved)').length\n if (cnt > 1) {\n $('#' + type + '_list .remove_' + type + '_link').css('display', '')\n $('#' + type + '_list .move_' + type + '_link').css('display', '')\n } else {\n $('#' + type + '_list .remove_' + type + '_link').hide()\n $('#' + type + '_list .move_' + type + '_link').hide()\n }\n}\n$(document).ready(function() {\n countObjects('page')\n $(document).bind('page_deleted', (event, data) => {\n if (!data) {\n return\n }\n const entry = data.eportfolio_entry\n $('#page_' + entry.id).remove()\n $('#structure_entry_' + entry.id).remove()\n countObjects('page')\n })\n $(document).bind('page_added page_updated', (event, data) => {\n const entry = data.eportfolio_entry\n let $page = $('#page_' + entry.id)\n if ($page.length === 0) {\n $page = $('#page_blank')\n .clone(true)\n .removeAttr('id')\n $('#page_list').append($page.show())\n }\n $page.removeClass('unsaved')\n $page.find('.settings-label').text(I18n.t('Settings for %{title}', {title: entry.name}))\n $page.fillTemplateData({\n data: entry,\n id: 'page_' + entry.id,\n hrefValues: ['id', 'slug']\n })\n // update links (unable to take advantage of fillTemplateData's hrefValues for updates)\n if (event.type == 'page_updated') {\n let page_url = $('#page_blank .page_url').attr('href')\n let rename_page_url = $('#page_blank .rename_page_url').attr('href')\n page_url = $.replaceTags(page_url, 'slug', entry.slug)\n rename_page_url = $.replaceTags(page_url, 'id', entry.id)\n $page.find('.page_url').attr('href', page_url)\n $page.find('.rename_page_url').attr('href', rename_page_url)\n }\n let $entry = $('#structure_entry_' + entry.id)\n if ($entry.length === 0) {\n $entry = $('#structure_entry_blank')\n .clone(true)\n .removeAttr('id')\n $('#structure_category_' + entry.eportfolio_category_id + ' .entry_list').append($entry)\n }\n $entry.fillTemplateData({\n id: 'structure_entry_' + entry.id,\n data: entry\n })\n const $activePage = $('#eportfolio_entry_' + entry.id)\n if ($activePage.length) {\n $activePage.fillTemplateData({\n id: 'eportfolio_entry_' + entry.id,\n data: entry\n })\n }\n countObjects('page')\n })\n $('.manage_pages_link,#section_pages .done_editing_button').click(event => {\n event.preventDefault()\n if ($('#page_list').hasClass('editing')) {\n $('#page_list').removeClass('editing')\n $('#page_list .page_url').attr('title', '')\n $('#page_list').sortable('destroy')\n $('#section_pages').removeClass('editing')\n } else {\n $('#page_list').addClass('editing')\n $('#page_list .page_url').attr('title', I18n.t('Click to edit, drag to reorder'))\n $('#page_list').sortable({\n axis: 'y',\n helper: 'clone',\n stop(event, ui) {\n ui.item.addClass('just_dropped')\n },\n update: savePageList\n })\n $('#section_pages').addClass('editing')\n }\n })\n $('#page_list').delegate('.edit_page_link', 'click', function(event) {\n if (\n $(this)\n .parents('li')\n .hasClass('unsaved')\n ) {\n event.preventDefault()\n }\n if (\n $(this)\n .parents('#page_list')\n .hasClass('editing')\n ) {\n event.preventDefault()\n const $li = $(this).parents('li')\n if ($li.hasClass('just_dropped')) {\n $li.removeClass('just_dropped')\n return\n }\n editObject($li, 'page')\n }\n })\n $('.add_page_link').click(event => {\n event.preventDefault()\n const $page = $('#page_blank')\n .clone(true)\n .attr('id', 'page_new')\n $('#page_list').append($page.show())\n editObject($page, 'page')\n })\n $('.remove_page_link').click(function(event) {\n event.preventDefault()\n hideEditObject('page')\n $(this)\n .parents('li')\n .confirmDelete({\n message: I18n.t('confirm_delete_page', 'Delete this page and all its content?'),\n url: $(this)\n .parents('li')\n .find('.rename_page_url')\n .attr('href'),\n success(data) {\n $(this).fadeOut(function() {\n $(this).remove()\n $(document).triggerHandler('page_deleted', data)\n countObjects('page')\n })\n }\n })\n })\n $('.move_page_link').click(event => {\n event.preventDefault()\n\n const page = $(event.target).closest('.page')\n const source = {\n id: page.attr('id'),\n label: page.find('.name').text()\n }\n const otherPages = $('#page_list .page')\n .not(page)\n .not('#page_blank')\n .toArray()\n const destinations = otherPages.map(otherPage => ({\n id: $(otherPage).attr('id'),\n label: $(otherPage)\n .find('.name')\n .text()\n }))\n\n const triggerElement = page.find('.page_settings_menu .al-trigger')\n const dialogLabel = I18n.t('Move Page')\n const onMove = function(before) {\n if (before !== '') {\n $(page).insertBefore($('#' + before))\n } else {\n $(page).insertAfter($('#page_list .page:last'))\n }\n $('#page_list').sortable('refreshPositions')\n savePageList()\n }\n showMoveDialog(source, destinations, triggerElement, dialogLabel, onMove)\n })\n $('#page_name')\n .keydown(function(event) {\n if (event.keyCode == 27) {\n // esc\n hideEditObject('page')\n } else if (event.keyCode == 13) {\n // enter\n $(this)\n .parents('li')\n .find('.name')\n .text($(this).val())\n const result = saveObject($(this).parents('li'), 'page')\n if (result) {\n hideEditObject('page')\n }\n }\n })\n .blur(function(event) {\n let result = true\n const $page = $(this).parents('li.page')\n result = saveObject($page, 'page')\n if (result) {\n hideEditObject('page')\n }\n })\n})\n\nconst $wizard_box = $('#wizard_box')\n\nfunction setWizardSpacerBoxDisplay(action) {\n $('#wizard_spacer_box')\n .height($wizard_box.height() || 0)\n .showIf(action === 'show')\n}\n\nconst pathname = window.location.pathname\n$('.close_wizard_link').click(event => {\n event.preventDefault()\n userSettings.set('hide_wizard_' + pathname, true)\n\n $wizard_box.slideUp('fast', () => {\n $('.wizard_popup_link').slideDown('fast')\n $('.wizard_popup_link').focus()\n setWizardSpacerBoxDisplay('hide')\n })\n})\n\n$('.wizard_popup_link').click(event => {\n event.preventDefault()\n $('.wizard_popup_link').slideUp('fast')\n $wizard_box.slideDown('fast', () => {\n $wizard_box.triggerHandler('wizard_opened')\n $wizard_box.focus()\n $([document, window]).triggerHandler('scroll')\n })\n})\n\n$wizard_box.ifExists(function($wizard_box) {\n $wizard_box.bind('wizard_opened', () => {\n const $wizard_options = $wizard_box.find('.wizard_options'),\n height = $wizard_options.height()\n $wizard_options.height(height)\n $wizard_box.find('.wizard_details').css({\n maxHeight: height - 5,\n overflow: 'auto'\n })\n setWizardSpacerBoxDisplay('show')\n })\n\n $wizard_box.find('.wizard_options_list .option').click(function(event) {\n const $this = $(this)\n const $a = $(event.target).closest('a')\n if ($a.length > 0 && $a.attr('href') != '#') {\n return\n }\n event.preventDefault()\n $this\n .parents('.wizard_options_list')\n .find('.option.selected')\n .removeClass('selected')\n $this.addClass('selected')\n const $details = $wizard_box.find('.wizard_details')\n const data = $this.getTemplateData({textValues: ['header']})\n data.link = data.header\n $details.fillTemplateData({\n data\n })\n $details.find('.details').remove()\n $details.find('.header').after(\n $this\n .find('.details')\n .clone(true)\n .show()\n )\n const url = $this.find('.header').attr('href')\n if (url != '#') {\n $details\n .find('.link')\n .show()\n .attr('href', url)\n } else {\n $details.find('.link').hide()\n }\n $details.hide().fadeIn('fast')\n })\n setTimeout(() => {\n if (!userSettings.get('hide_wizard_' + pathname)) {\n $('.wizard_popup_link.auto_open:first').click()\n }\n }, 500)\n})\n\n$(document).ready(function() {\n countObjects('section')\n $(document).bind('section_deleted', (event, data) => {\n const category = data.eportfolio_category\n $('#section_' + category.id).remove()\n $('#structure_category_' + category.id).remove()\n countObjects('section')\n })\n $(document).bind('section_added section_updated', (event, data) => {\n const category = data.eportfolio_category\n let $section = $('#section_' + category.id)\n if ($section.length === 0) {\n $section = $('#section_blank')\n .clone(true)\n .removeAttr('id')\n $('#section_list').append($section.css('display', ''))\n }\n $section.removeClass('unsaved')\n $section.find('.settings-label').text(I18n.t('Settings for %{title}', {title: category.name}))\n $section.fillTemplateData({\n data: category,\n id: 'section_' + category.id,\n hrefValues: ['id', 'slug']\n })\n let $category = $('#structure_category_' + category.id)\n if ($category.length === 0) {\n $category = $('#structure_category_blank')\n .clone(true)\n .removeAttr('id')\n $('#eportfolio_structure').append($category)\n }\n $category.fillTemplateData({\n id: 'structure_category_' + category.id,\n data: category\n })\n let $category_select = $('#category_select_' + category.id)\n if ($category_select.length === 0) {\n $category_select = $('#category_select_blank')\n .clone(true)\n .removeAttr('id')\n $('#category_select').append($category_select.show())\n }\n $category_select\n .attr('id', 'category_select_' + category.id)\n .val(category.id)\n .text(category.name)\n countObjects('section')\n })\n $('.manage_sections_link,#section_list_manage .done_editing_button').click(event => {\n event.preventDefault()\n if ($('#section_list').hasClass('editing')) {\n $('#section_list').sortable('destroy')\n $('#section_list_manage').removeClass('editing')\n $('#section_list').removeClass('editing')\n const manage_sections = I18n.t('buttons.manage_sections', 'Manage Sections')\n $('.arrange_sections_link')\n .text(manage_sections)\n .val(manage_sections)\n $('.add_section').hide()\n $('#section_list .name').attr('title', '')\n } else {\n $('#section_list_manage').addClass('editing')\n $('#section_list').sortable({\n axis: 'y',\n helper: 'clone',\n stop(event, ui) {\n ui.item.addClass('just_dropped')\n },\n update: saveSectionList\n })\n $('#section_list')\n .addClass('editing')\n .sortable('enable')\n const done_editing = I18n.t('buttons.done_editing', 'Done Editing')\n $('.arrange_sections_link')\n .text(done_editing)\n .val(done_editing)\n $('.add_section').show()\n $('#section_list .name').attr(\n 'title',\n I18n.t('titles.section_list', 'Drag to Arrange, Click to Edit')\n )\n }\n })\n $('.add_section_link').click(event => {\n event.preventDefault()\n const $section = $('#section_blank')\n .clone(true)\n .attr('id', 'section_new')\n $('#section_list').append($section.show())\n editObject($section, 'section')\n })\n $('.remove_section_link').click(function(event) {\n event.preventDefault()\n\n hideEditObject('section')\n $(this)\n .parents('li')\n .confirmDelete({\n message: I18n.t('confirm_delete_section', 'Delete this section and all its pages?'),\n url: $(this)\n .parents('li')\n .find('.rename_section_url')\n .attr('href'),\n success(data) {\n $(this).fadeOut(function() {\n $(this).remove()\n $(document).triggerHandler('section_deleted', data)\n countObjects('section')\n })\n }\n })\n })\n $('.move_section_link').click(event => {\n event.preventDefault()\n\n const section = $(event.target).closest('.section')\n const source = {\n id: section.attr('id'),\n label: section.find('.name').text()\n }\n const otherSections = $('#section_list .section')\n .not(section)\n .not('#section_blank')\n .toArray()\n const destinations = otherSections.map(otherSection => ({\n id: $(otherSection).attr('id'),\n label: $(otherSection)\n .find('.name')\n .text()\n }))\n const dialogLabel = I18n.t('Move Section')\n\n const triggerElement = section.find('.section_settings_menu .al-trigger')\n\n const onMove = function(before) {\n if (before !== '') {\n $(section).insertBefore(document.getElementById(before))\n } else {\n $(section).insertAfter($('#section_list .section:last'))\n }\n $('#section_list').sortable('refreshPositions')\n saveSectionList()\n }\n showMoveDialog(source, destinations, triggerElement, dialogLabel, onMove)\n })\n $('#section_list').delegate('.edit_section_link', 'click', function(event) {\n if (\n $(this)\n .parents('li')\n .hasClass('unsaved')\n ) {\n event.preventDefault()\n }\n if (\n $(this)\n .parents('#section_list')\n .hasClass('editing')\n ) {\n event.preventDefault()\n const $li = $(this).parents('li')\n if ($li.hasClass('just_dropped')) {\n $li.removeClass('just_dropped')\n return\n }\n editObject($li, 'section')\n }\n })\n $('#section_name')\n .keydown(function(event) {\n if (event.keyCode == 27) {\n // esc\n hideEditObject('section')\n } else if (event.keyCode == 13) {\n // enter\n $(this)\n .parents('li')\n .find('.name')\n .text($(this).val())\n const result = saveObject($(this).parents('li'), 'section')\n if (result) {\n hideEditObject('section')\n }\n }\n })\n .blur(function(event) {\n let result = true\n const $section = $(this).parents('li.section')\n result = saveObject($section, 'section')\n if (result) {\n hideEditObject('section')\n }\n })\n $('.download_eportfolio_link').click(function(event) {\n $(this).slideUp()\n event.preventDefault()\n $('#export_progress')\n .progressbar()\n .progressbar('option', 'value', 0)\n const $box = $('#downloading_eportfolio_message')\n $box.slideDown()\n $box\n .find('.message')\n .text(\n I18n.t(\n '#eportfolios.show.headers.export_progress',\n 'Collecting ePortfolio resources. this may take a while if you have a lot of files in your ePortfolio.'\n )\n )\n const url = $(this).attr('href')\n let errorCount = 0\n var check = function(first) {\n let req_url = url\n if (first) {\n req_url = url + '?compile=1'\n }\n $.ajaxJSON(\n req_url,\n 'GET',\n {},\n data => {\n if (\n data.attachment &&\n data.attachment.file_state &&\n data.attachment.file_state == 'available'\n ) {\n $('#export_progress').progressbar('option', 'value', 100)\n location.href = url + '.zip'\n return\n } else if (data.attachment && data.attachment.file_state) {\n const progress = parseInt(data.attachment.file_state, 10)\n $('#export_progress').progressbar(\n 'option',\n 'value',\n Math.max(\n Math.min($('#export_progress').progressbar('option', 'value') + 0.1, 90),\n progress\n )\n )\n } else {\n $('#export_progress').progressbar(\n 'option',\n 'value',\n Math.min($('#export_progress').progressbar('option', 'value') + 0.1, 90)\n )\n }\n setTimeout(check, 2000)\n },\n data => {\n errorCount++\n if (errorCount > 5) {\n $box\n .find('.message')\n .text(\n I18n.t(\n 'errors.compiling',\n 'There was an error compiling your eportfolio. Please try again in a little while.'\n )\n )\n } else {\n setTimeout(check, 5000)\n }\n }\n )\n }\n check(true)\n })\n $('.download_eportfolio_link').click(event => {\n $('#downloading_eportfolio_dialog').dialog({\n title: I18n.t('titles.download_eportfolio', 'Download ePortfolio')\n })\n })\n})\n","/*\n * Copyright (C) 2019 - present Instructure, Inc.\n *\n * This file is part of Canvas.\n *\n * Canvas is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, version 3 of the License.\n *\n * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License along\n * with this program. If not, see .\n */\n\nexport default function sanitizeHtml(html) {\n // Note: it is expected that tinymce be loaded and available globally at `window.tinymce` by the\n // time this function runs. To do that you can just make sure to call\n // RichContentEditor.preloadRemoteModule first\n return new tinymce.html.Serializer().serialize(new tinymce.html.DomParser().parse(html))\n}\n"],"sourceRoot":""}