diff --git a/.github/workflows/moodle-ci.yml b/.github/workflows/moodle-ci.yml index 1d11b24..5fe7935 100644 --- a/.github/workflows/moodle-ci.yml +++ b/.github/workflows/moodle-ci.yml @@ -6,21 +6,29 @@ jobs: static: runs-on: ubuntu-latest + outputs: + has_tests: ${{ steps.check_tests.outputs.has_tests }} + strategy: matrix: php: ['7.4'] - moodle-branch: ['MOODLE_311_STABLE'] + moodle-branch: ['MOODLE_400_STABLE'] database: ['pgsql'] steps: - name: Start PostgreSQL - run: docker run -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_HOST_AUTH_METHOD=trust -d postgres:9.6 + run: docker run -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_HOST_AUTH_METHOD=trust -d postgres:10 - name: Check out repository code uses: actions/checkout@v2 with: path: plugin + - name: Check for test folder + id: check_tests + run: | + echo "::set-output name=has_tests::${{ hashFiles('plugin/tests') != '' }}" + - name: Setup PHP ${{ matrix.php }} uses: shivammathur/setup-php@v2 with: @@ -102,12 +110,13 @@ jobs: test: runs-on: ubuntu-latest needs: static + if: ${{ needs.static.outputs.has_tests == 'true' }} strategy: fail-fast: false matrix: - php: ['7.3', '7.4'] - moodle-branch: ['MOODLE_39_STABLE', 'MOODLE_310_STABLE', 'MOODLE_311_STABLE'] + php: ['7.4'] + moodle-branch: ['MOODLE_39_STABLE', 'MOODLE_310_STABLE', 'MOODLE_311_STABLE', 'MOODLE_400_STABLE'] database: ['mariadb', 'pgsql'] steps: @@ -117,7 +126,7 @@ jobs: - name: Start PostgreSQL if: matrix.database == 'pgsql' - run: docker run -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_HOST_AUTH_METHOD=trust -d postgres:9.6 + run: docker run -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_HOST_AUTH_METHOD=trust -d postgres:10 - name: Check out repository code uses: actions/checkout@v2 @@ -169,4 +178,4 @@ jobs: - name: Behat features if: ${{ always() }} - run: moodle-plugin-ci behat --profile chrome + run: moodle-plugin-ci behat diff --git a/.github/workflows/moodle-release.yml b/.github/workflows/moodle-release.yml new file mode 100644 index 0000000..323383f --- /dev/null +++ b/.github/workflows/moodle-release.yml @@ -0,0 +1,54 @@ +# +# Whenever a new tag starting with "v" is pushed, add the tagged version +# to the Moodle Plugins directory at https://moodle.org/plugins +# +# revision: 2021070201 +# Changed to be released on Github release with the release notes. +# +name: Releasing in the Plugins directory + +on: + release: + types: [published] + +defaults: + run: + shell: bash + +jobs: + release-at-moodle-org: + runs-on: ubuntu-latest + env: + PLUGIN: block_groups + CURL: curl -s + ENDPOINT: https://moodle.org/webservice/rest/server.php + TOKEN: ${{ secrets.MOODLE_ORG_TOKEN }} + FUNCTION: local_plugins_add_version + + steps: + - name: Call the service function + id: add-version + run: | + TAGNAME="${{ github.event.release.tag_name }}" + BODY="${{ github.event.release.body }}" + ZIPURL="${{ github.event.release.zipball_url }}" + RESPONSE=$(${CURL} ${ENDPOINT} --data-urlencode "wstoken=${TOKEN}" \ + --data-urlencode "wsfunction=${FUNCTION}" \ + --data-urlencode "moodlewsrestformat=json" \ + --data-urlencode "frankenstyle=${PLUGIN}" \ + --data-urlencode "zipurl=${ZIPURL}" \ + --data-urlencode "vcssystem=git" \ + --data-urlencode "vcsrepositoryurl=${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}" \ + --data-urlencode "vcstag=${TAGNAME}" \ + --data-urlencode "changelogurl=${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/commits/${TAGNAME}" \ + --data-urlencode "altdownloadurl=${ZIPURL}" \ + --data-urlencode "releasenotes=${BODY}" \ + --data-urlencode "releasenotesformat=4") + echo "::set-output name=response::${RESPONSE}" + - name: Evaluate the response + id: evaluate-response + env: + RESPONSE: ${{ steps.add-version.outputs.response }} + run: | + jq <<< ${RESPONSE} + jq --exit-status ".id" <<< ${RESPONSE} > /dev/null diff --git a/amd/build/blocks_groups_visibility.min.js b/amd/build/blocks_groups_visibility.min.js index 4c2b813..b38aca0 100644 --- a/amd/build/blocks_groups_visibility.min.js +++ b/amd/build/blocks_groups_visibility.min.js @@ -1,2 +1,10 @@ -define ("block_groups/blocks_groups_visibility",["jquery","core/ajax","core/url","core/notification","core/str"],function(a,b,c,d,e){var f=function(b){a(".block_groups").find(".warning"+b).remove()},g=function(b){var c=a(".block_groups");c.find(".spinner"+b).remove();c.find(".imggroup-"+b).show()},h=function(){var b=a(".block_groups");b.find(".spinner-all").remove();b.find(".imggroup").show()},i=function(){location.reload(!0)},j=function(){e.get_strings([{key:"errortitle",component:"block_groups"},{key:"nochangeindatabasepossiblereload",component:"block_groups"},{key:"yes"},{key:"no"}]).done(function(a){d.confirm(a[0],a[1],a[2],a[3],i)}).fail(d.exception)},k=function(b){var d=a(".block_groups");if(00||divgroups.find(".spinner-all").length>0)return!1;!function(groupid){var divgroups=$(".block_groups");divgroups.find(".warning"+groupid).length>0&&removeWarning(groupid);var imgurl=url.imageUrl("i/loading_small","moodle"),spinner=document.createElement("img");spinner.className="spinner"+groupid+" spinner block-groups-spinner",spinner.src=imgurl,spinner.hidden=!1,divgroups.find(".imggroup-"+groupid).before(spinner),divgroups.find(".imggroup-"+groupid).hide()}($(this).data("groupid"));var promises=ajax.call([{methodname:"block_groups_create_output",args:{groups:{id:$(this).data("groupid"),courseid:event.data.courseid}}}]);return $(document).ajaxError((function(){return addWarning(groupid),!1})),promises[0].then((function(response){return null===response||!0===response.error?(addWarning(groupid),!1):(divgroups.find(".group-"+response.id).replaceWith(response.newelement),0===response.visibility&&divgroups.find(".membergroup-"+response.id).removeClass("hiddengroups"),1===response.visibility&&divgroups.find(".membergroup-"+response.id).addClass("hiddengroups"),divgroups.find(".group-"+response.id+" .block_groups_toggle").on("click",{courseid:event.data.courseid},changevisibility),removeSpinner(response.id),!1)})).fail((function(){return addWarning(groupid),!1})),!1},addNotification=function(type,text){notification.addNotification({message:text,type:type})},changeVisibilityAll=function(event){if($(".block_groups").find(".spinner").length>0)return!1;var warningexist=$(".block_groups").find(".block-groups-warning");if(void 0!==warningexist&&warningexist.length>0)return addWarning("all"),!1;!function(){var divgroups=$(".block_groups");divgroups.find(".warningall").length>0&&removeWarning("all");var imgurl=url.imageUrl("i/loading_small","moodle"),spinner=document.createElement("img");spinner.className="spinner-all spinner block-groups-spinner",spinner.src=imgurl,spinner.hidden=!1,divgroups.find(".imggroup").before(spinner),divgroups.find(".imggroup").hide()}();var promises=ajax.call([{methodname:"block_groups_create_allgroups_output",args:{groups:{action:$(this).data("action"),courseid:event.data.courseid}}}]);return $(document).ajaxError((function(){return addWarning("all"),!1})),promises[0].then((function(response){var divgroups=$(".block_groups");return null===response||!0===response.error?(addWarning("all"),!1):0===response.visibility?(divgroups.find(".content").replaceWith(response.newelement),str.get_strings([{key:"nogroups",component:"block_groups"}]).done((function(s){addNotification("error",s[0])})).fail(notification.exception),!1):(divgroups.find(".wrapperlistgroup").replaceWith(response.newelement),divgroups.find(".block_groups_toggle").on("click",{courseid:event.data.courseid},changevisibility),function(response){var membergroup=$(".block-groups-membergroup"),visibility=response.visibility;2===visibility&&membergroup.removeClass("hiddengroups"),1===visibility&&membergroup.addClass("hiddengroups")}(response),str.get_strings([{key:"groupschangedhidden",component:"block_groups"},{key:"groupschangedvisible",component:"block_groups"},{key:"allgroupsinstatehidden",component:"block_groups"},{key:"allgroupsinstatevisible",component:"block_groups"}]).done((function(s){switch(response.visibility){case 1:addNotification("success",s[0]);break;case 2:addNotification("success",s[1]);break;case 3:addNotification("warning",s[2]);break;case 4:addNotification("warning",s[3])}})).fail(notification.exception),!1)})).fail((function(){return addWarning("all"),!1})),removeSpinners(),!1};return{initialise:function(courseid){$(".block_groups_toggle").on("click",{courseid:courseid},changevisibility),$(".block_groups_all_toggle").on("click",{courseid:courseid},changeVisibilityAll)}}})); + +//# sourceMappingURL=blocks_groups_visibility.min.js.map \ No newline at end of file diff --git a/amd/build/blocks_groups_visibility.min.js.map b/amd/build/blocks_groups_visibility.min.js.map index f095c54..79bf1d2 100644 --- a/amd/build/blocks_groups_visibility.min.js.map +++ b/amd/build/blocks_groups_visibility.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/blocks_groups_visibility.js"],"names":["define","$","ajax","url","notification","str","removeWarning","identifier","find","remove","removeSpinner","groupid","divgroup","show","removeSpinners","divgroups","reloadPage","location","reload","createWarningMessage","get_strings","component","done","s","confirm","fail","exception","addSpinner","length","imgurl","imageUrl","spinner","document","createElement","className","src","hidden","before","hide","addWarning","warningexist","warning","on","changevisibility","event","data","promises","call","methodname","args","groups","id","courseid","ajaxError","then","response","error","replaceWith","newelement","visibility","removeClass","addClass","checkMember","membergroup","addSpinners","addNotification","type","text","message","changeVisibilityAll","action","key","initialise"],"mappings":"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","sourcesContent":["// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see .\n\n\n/**\n * Javascript module for block_groups\n *\n * @package block_groups\n * @copyright 2016/17 N Herrmann\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\ndefine(['jquery', 'core/ajax', 'core/url', 'core/notification', 'core/str'], function($, ajax, url, notification, str) {\n /**\n * Methode to remove warnings\n * @param {(Number|String)} identifier\n */\n var removeWarning = function(identifier) {\n $('.block_groups').find('.warning' + identifier).remove();\n };\n /**\n * Removes the Spinner Class of a single group.\n * @param {Number} groupid that identifies to which group the spinner belongs to.\n */\n var removeSpinner = function(groupid) {\n var divgroup = $('.block_groups');\n divgroup.find('.spinner' + groupid).remove();\n divgroup.find('.imggroup-' + groupid).show();\n };\n /**\n * Removes all spinners.\n */\n var removeSpinners = function() {\n var divgroups = $('.block_groups');\n divgroups.find('.spinner-all').remove();\n divgroups.find('.imggroup').show();\n };\n /**\n * Reloads the current page.\n */\n var reloadPage = function() {\n location.reload(true);\n };\n /**\n * Creates a warning message.\n */\n var createWarningMessage = function() {\n\n str.get_strings([\n {'key': 'errortitle', component: 'block_groups'},\n {'key': 'nochangeindatabasepossiblereload', component: 'block_groups'},\n {'key': 'yes'},\n {'key': 'no'}\n ]).done(function(s) {\n notification.confirm(s[0], s[1], s[2], s[3], reloadPage);\n }).fail(notification.exception);\n };\n /**\n * Initialises Spinner for a single group.\n * @param {Number} groupid\n */\n var addSpinner = function(groupid) {\n var divgroups = $('.block_groups');\n if (divgroups.find('.warning' + groupid).length > 0) {\n\n removeWarning(groupid);\n }\n var imgurl = url.imageUrl(\"i/loading_small\", 'moodle');\n var spinner = document.createElement(\"img\");\n spinner.className = 'spinner' + groupid + ' spinner block-groups-spinner';\n spinner.src = imgurl;\n spinner.hidden = false;\n\n divgroups.find('.imggroup-' + groupid).before(spinner);\n divgroups.find('.imggroup-' + groupid).hide();\n };\n /**\n * Adds a warning(triangle with exclamation mark) in case the response is empty or the response throws an error.\n * @param {(Number|String)} identifier\n * @returns {Boolean} false\n */\n var addWarning = function(identifier) {\n var divgroups = $('.block_groups');\n var warningexist = divgroups.find('.warning' + identifier);\n if (warningexist.length) {\n removeSpinner(identifier);\n return false;\n } else {\n if (identifier === 'all') {\n removeSpinners();\n } else {\n removeSpinner(identifier);\n }\n var imgurl = url.imageUrl(\"i/warning\", 'moodle');\n var warning = document.createElement(\"img\");\n warning.className = 'warning' + identifier + ' block-groups-warning';\n warning.src = imgurl;\n createWarningMessage();\n (divgroups.find('.imggroup-' + identifier).before(warning));\n divgroups.find('.imggroup-' + identifier).on('click', createWarningMessage);\n divgroups.find('.warning' + identifier).on('click', createWarningMessage);\n }\n return false;\n };\n /**\n * Method that calls for an ajax script and replaces and/or changes the output components for a single group.\n * @param {*} event\n * @return {Boolean}\n */\n var changevisibility = function(event) {\n var divgroups = $('.block_groups');\n\n var groupid = $(this).data('groupid');\n if (divgroups.find('.spinner' + $(this).data('groupid')).length > 0 ||\n divgroups.find('.spinner-all').length > 0) {\n return false;\n }\n addSpinner($(this).data('groupid'));\n var promises = ajax.call([\n\n {\n methodname: 'block_groups_create_output', args: {\n groups: {\n id: $(this).data('groupid'),\n courseid: event.data.courseid\n }\n\n }\n }\n ]);\n $(document).ajaxError(function() {\n addWarning(groupid);\n return false;\n });\n\n promises[0].then(function(response) {\n if (response === null || response.error === true) {\n addWarning(groupid);\n return false;\n }\n divgroups.find('.group-' + response.id).replaceWith(response.newelement);\n // Replaces the used element, therefore removes the spinner.\n if (response.visibility === 0) {\n divgroups.find('.membergroup-' + response.id).removeClass('hiddengroups');\n }\n if (response.visibility === 1) {\n divgroups.find('.membergroup-' + response.id).addClass('hiddengroups');\n }\n divgroups.find('.group-' + response.id + ' .block_groups_toggle').on('click',\n {courseid: event.data.courseid}, changevisibility);\n removeSpinner(response.id);\n return false;\n }).fail(function() {\n addWarning(groupid);\n return false;\n });\n return false;\n };\n var checkMember = function(response) {\n var membergroup = $('.block-groups-membergroup');\n var visibility = response.visibility;\n if (visibility === 2) {\n membergroup.removeClass('hiddengroups');\n }\n if (visibility === 1) {\n membergroup.addClass('hiddengroups');\n }\n };\n /**\n * Initialises spinners for all groups.\n */\n var addSpinners = function() {\n var divgroups = $('.block_groups');\n if (divgroups.find('.warningall').length > 0) {\n removeWarning('all');\n }\n var imgurl = url.imageUrl(\"i/loading_small\", 'moodle');\n var spinner = document.createElement(\"img\");\n spinner.className = 'spinner-all spinner block-groups-spinner';\n spinner.src = imgurl;\n spinner.hidden = false;\n divgroups.find('.imggroup').before(spinner);\n divgroups.find('.imggroup').hide();\n };\n\n var addNotification = function(type, text) {\n notification.addNotification({\n message: text,\n type: type\n });\n };\n /**\n * Method that calls for an ajax script and replaces and/or changes the output components for all groups.\n * @param {Number} event\n * @return {Boolean}\n */\n var changeVisibilityAll = function(event) {\n if ($('.block_groups').find('.spinner').length > 0) {\n return false;\n }\n var warningexist = $('.block_groups').find('.block-groups-warning');\n if (typeof warningexist !== 'undefined' && warningexist.length > 0) {\n addWarning('all');\n return false;\n }\n addSpinners();\n // Calls for the externallib.\n var promises = ajax.call([\n {\n methodname: 'block_groups_create_allgroups_output', args: {\n groups: {\n action: $(this).data('action'),\n courseid: event.data.courseid\n }\n }\n }\n ]);\n $(document).ajaxError(function() {\n addWarning('all');\n return false;\n });\n // Response is processed.\n promises[0].then(function(response) {\n var divgroups = $('.block_groups');\n // Catch misleading responses.\n if (response === null || response.error === true) {\n addWarning('all');\n return false;\n }\n if (response.visibility === 0) {\n // Is nearly impossible since group has to be deleted during the request, however it is\n // possible, therefore a special message is thrown.\n divgroups.find('.content').replaceWith(response.newelement);\n str.get_strings([\n {key: 'nogroups', component: 'block_groups'}\n ]).done(function(s) {\n addNotification('error', s[0]);\n }).fail(notification.exception);\n return false;\n }\n\n // Old Elements are replaced and on click event added.\n divgroups.find('.wrapperlistgroup').replaceWith(response.newelement);\n divgroups.find('.block_groups_toggle').on('click', {courseid: event.data.courseid}, changevisibility);\n checkMember(response);\n // Outputvisibility 0->nogroups 1 -> hidden 2->visible 3-> all are hidden 4-> all are visible.\n str.get_strings([\n {key: 'groupschangedhidden', component: 'block_groups'},\n {key: 'groupschangedvisible', component: 'block_groups'},\n {key: 'allgroupsinstatehidden', component: 'block_groups'},\n {key: 'allgroupsinstatevisible', component: 'block_groups'}\n ]).done(function(s) {\n switch (response.visibility) {\n case 1:\n addNotification('success', s[0]);\n break;\n case 2:\n addNotification('success', s[1]);\n break;\n case 3:\n addNotification('warning', s[2]);\n break;\n case 4:\n addNotification('warning', s[3]);\n break;\n default:\n break;\n }\n }).fail(notification.exception);\n return false;\n }).fail(function() {\n addWarning('all');\n return false;\n });\n removeSpinners();\n return false;\n };\n\n /**\n * Calls for the main method. Either single groups are changed with block_groups_toggle or all groups with\n * block_groups_all_toggle.\n * @param {Number} courseid\n */\n return {\n initialise: function(courseid) {\n $('.block_groups_toggle').on('click', {courseid: courseid}, changevisibility);\n $('.block_groups_all_toggle').on('click', {courseid: courseid}, changeVisibilityAll);\n\n }\n };\n});\n"],"file":"blocks_groups_visibility.min.js"} \ No newline at end of file +{"version":3,"file":"blocks_groups_visibility.min.js","sources":["../src/blocks_groups_visibility.js"],"sourcesContent":["// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see .\n\n\n/**\n * Javascript module for block_groups\n *\n * @module block_groups\n * @copyright 2016/17 N Herrmann\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\ndefine(['jquery', 'core/ajax', 'core/url', 'core/notification', 'core/str'], function($, ajax, url, notification, str) {\n /**\n * Methode to remove warnings\n * @param {(Number|String)} identifier\n */\n var removeWarning = function(identifier) {\n $('.block_groups').find('.warning' + identifier).remove();\n };\n /**\n * Removes the Spinner Class of a single group.\n * @param {Number} groupid that identifies to which group the spinner belongs to.\n */\n var removeSpinner = function(groupid) {\n var divgroup = $('.block_groups');\n divgroup.find('.spinner' + groupid).remove();\n divgroup.find('.imggroup-' + groupid).show();\n };\n /**\n * Removes all spinners.\n */\n var removeSpinners = function() {\n var divgroups = $('.block_groups');\n divgroups.find('.spinner-all').remove();\n divgroups.find('.imggroup').show();\n };\n /**\n * Reloads the current page.\n */\n var reloadPage = function() {\n location.reload(true);\n };\n /**\n * Creates a warning message.\n */\n var createWarningMessage = function() {\n\n str.get_strings([\n {'key': 'errortitle', component: 'block_groups'},\n {'key': 'nochangeindatabasepossiblereload', component: 'block_groups'},\n {'key': 'yes'},\n {'key': 'no'}\n ]).done(function(s) {\n notification.confirm(s[0], s[1], s[2], s[3], reloadPage);\n }).fail(notification.exception);\n };\n /**\n * Initialises Spinner for a single group.\n * @param {Number} groupid\n */\n var addSpinner = function(groupid) {\n var divgroups = $('.block_groups');\n if (divgroups.find('.warning' + groupid).length > 0) {\n\n removeWarning(groupid);\n }\n var imgurl = url.imageUrl(\"i/loading_small\", 'moodle');\n var spinner = document.createElement(\"img\");\n spinner.className = 'spinner' + groupid + ' spinner block-groups-spinner';\n spinner.src = imgurl;\n spinner.hidden = false;\n\n divgroups.find('.imggroup-' + groupid).before(spinner);\n divgroups.find('.imggroup-' + groupid).hide();\n };\n /**\n * Adds a warning(triangle with exclamation mark) in case the response is empty or the response throws an error.\n * @param {(Number|String)} identifier\n * @returns {Boolean} false\n */\n var addWarning = function(identifier) {\n var divgroups = $('.block_groups');\n var warningexist = divgroups.find('.warning' + identifier);\n if (warningexist.length) {\n removeSpinner(identifier);\n return false;\n } else {\n if (identifier === 'all') {\n removeSpinners();\n } else {\n removeSpinner(identifier);\n }\n var imgurl = url.imageUrl(\"i/warning\", 'moodle');\n var warning = document.createElement(\"img\");\n warning.className = 'warning' + identifier + ' block-groups-warning';\n warning.src = imgurl;\n createWarningMessage();\n (divgroups.find('.imggroup-' + identifier).before(warning));\n divgroups.find('.imggroup-' + identifier).on('click', createWarningMessage);\n divgroups.find('.warning' + identifier).on('click', createWarningMessage);\n }\n return false;\n };\n /**\n * Method that calls for an ajax script and replaces and/or changes the output components for a single group.\n * @param {*} event\n * @return {Boolean}\n */\n var changevisibility = function(event) {\n var divgroups = $('.block_groups');\n\n var groupid = $(this).data('groupid');\n if (divgroups.find('.spinner' + $(this).data('groupid')).length > 0 ||\n divgroups.find('.spinner-all').length > 0) {\n return false;\n }\n addSpinner($(this).data('groupid'));\n var promises = ajax.call([\n\n {\n methodname: 'block_groups_create_output', args: {\n groups: {\n id: $(this).data('groupid'),\n courseid: event.data.courseid\n }\n\n }\n }\n ]);\n $(document).ajaxError(function() {\n addWarning(groupid);\n return false;\n });\n\n promises[0].then(function(response) {\n if (response === null || response.error === true) {\n addWarning(groupid);\n return false;\n }\n divgroups.find('.group-' + response.id).replaceWith(response.newelement);\n // Replaces the used element, therefore removes the spinner.\n if (response.visibility === 0) {\n divgroups.find('.membergroup-' + response.id).removeClass('hiddengroups');\n }\n if (response.visibility === 1) {\n divgroups.find('.membergroup-' + response.id).addClass('hiddengroups');\n }\n divgroups.find('.group-' + response.id + ' .block_groups_toggle').on('click',\n {courseid: event.data.courseid}, changevisibility);\n removeSpinner(response.id);\n return false;\n }).fail(function() {\n addWarning(groupid);\n return false;\n });\n return false;\n };\n var checkMember = function(response) {\n var membergroup = $('.block-groups-membergroup');\n var visibility = response.visibility;\n if (visibility === 2) {\n membergroup.removeClass('hiddengroups');\n }\n if (visibility === 1) {\n membergroup.addClass('hiddengroups');\n }\n };\n /**\n * Initialises spinners for all groups.\n */\n var addSpinners = function() {\n var divgroups = $('.block_groups');\n if (divgroups.find('.warningall').length > 0) {\n removeWarning('all');\n }\n var imgurl = url.imageUrl(\"i/loading_small\", 'moodle');\n var spinner = document.createElement(\"img\");\n spinner.className = 'spinner-all spinner block-groups-spinner';\n spinner.src = imgurl;\n spinner.hidden = false;\n divgroups.find('.imggroup').before(spinner);\n divgroups.find('.imggroup').hide();\n };\n\n var addNotification = function(type, text) {\n notification.addNotification({\n message: text,\n type: type\n });\n };\n /**\n * Method that calls for an ajax script and replaces and/or changes the output components for all groups.\n * @param {Number} event\n * @return {Boolean}\n */\n var changeVisibilityAll = function(event) {\n if ($('.block_groups').find('.spinner').length > 0) {\n return false;\n }\n var warningexist = $('.block_groups').find('.block-groups-warning');\n if (typeof warningexist !== 'undefined' && warningexist.length > 0) {\n addWarning('all');\n return false;\n }\n addSpinners();\n // Calls for the externallib.\n var promises = ajax.call([\n {\n methodname: 'block_groups_create_allgroups_output', args: {\n groups: {\n action: $(this).data('action'),\n courseid: event.data.courseid\n }\n }\n }\n ]);\n $(document).ajaxError(function() {\n addWarning('all');\n return false;\n });\n // Response is processed.\n promises[0].then(function(response) {\n var divgroups = $('.block_groups');\n // Catch misleading responses.\n if (response === null || response.error === true) {\n addWarning('all');\n return false;\n }\n if (response.visibility === 0) {\n // Is nearly impossible since group has to be deleted during the request, however it is\n // possible, therefore a special message is thrown.\n divgroups.find('.content').replaceWith(response.newelement);\n str.get_strings([\n {key: 'nogroups', component: 'block_groups'}\n ]).done(function(s) {\n addNotification('error', s[0]);\n }).fail(notification.exception);\n return false;\n }\n\n // Old Elements are replaced and on click event added.\n divgroups.find('.wrapperlistgroup').replaceWith(response.newelement);\n divgroups.find('.block_groups_toggle').on('click', {courseid: event.data.courseid}, changevisibility);\n checkMember(response);\n // Outputvisibility 0->nogroups 1 -> hidden 2->visible 3-> all are hidden 4-> all are visible.\n str.get_strings([\n {key: 'groupschangedhidden', component: 'block_groups'},\n {key: 'groupschangedvisible', component: 'block_groups'},\n {key: 'allgroupsinstatehidden', component: 'block_groups'},\n {key: 'allgroupsinstatevisible', component: 'block_groups'}\n ]).done(function(s) {\n switch (response.visibility) {\n case 1:\n addNotification('success', s[0]);\n break;\n case 2:\n addNotification('success', s[1]);\n break;\n case 3:\n addNotification('warning', s[2]);\n break;\n case 4:\n addNotification('warning', s[3]);\n break;\n default:\n break;\n }\n }).fail(notification.exception);\n return false;\n }).fail(function() {\n addWarning('all');\n return false;\n });\n removeSpinners();\n return false;\n };\n\n /**\n * Calls for the main method. Either single groups are changed with block_groups_toggle or all groups with\n * block_groups_all_toggle.\n * @param {Number} courseid\n */\n return {\n initialise: function(courseid) {\n $('.block_groups_toggle').on('click', {courseid: courseid}, changevisibility);\n $('.block_groups_all_toggle').on('click', {courseid: courseid}, changeVisibilityAll);\n\n }\n };\n});\n"],"names":["define","$","ajax","url","notification","str","removeWarning","identifier","find","remove","removeSpinner","groupid","divgroup","show","removeSpinners","divgroups","reloadPage","location","reload","createWarningMessage","get_strings","component","done","s","confirm","fail","exception","addWarning","length","imgurl","imageUrl","warning","document","createElement","className","src","before","on","changevisibility","event","this","data","spinner","hidden","hide","addSpinner","promises","call","methodname","args","groups","id","courseid","ajaxError","then","response","error","replaceWith","newelement","visibility","removeClass","addClass","addNotification","type","text","message","changeVisibilityAll","warningexist","addSpinners","action","key","membergroup","checkMember","initialise"],"mappings":"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"} \ No newline at end of file diff --git a/amd/src/blocks_groups_visibility.js b/amd/src/blocks_groups_visibility.js index c1d19b1..420bc2e 100644 --- a/amd/src/blocks_groups_visibility.js +++ b/amd/src/blocks_groups_visibility.js @@ -21,7 +21,7 @@ /** * Javascript module for block_groups * - * @package block_groups + * @module block_groups * @copyright 2016/17 N Herrmann * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */