diff options
Diffstat (limited to 'main/app/sprinkles/admin/assets/userfrosting')
12 files changed, 503 insertions, 503 deletions
diff --git a/main/app/sprinkles/admin/assets/userfrosting/js/pages/activities.js b/main/app/sprinkles/admin/assets/userfrosting/js/pages/activities.js index 4968ffd..2dc31e1 100644 --- a/main/app/sprinkles/admin/assets/userfrosting/js/pages/activities.js +++ b/main/app/sprinkles/admin/assets/userfrosting/js/pages/activities.js @@ -1,16 +1,16 @@ -/** - * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template. - * example: {{ assets.js('js/pages/sign-in-or-register') | raw }} - * - * This script depends on uf-table.js, moment.js, handlebars-helpers.js - * - * Target page: /activities - */ - -$(document).ready(function () { - // Set up table of activities - $("#widget-activities").ufTable({ - dataUrl: site.uri.public + "/api/activities", - useLoadingTransition: site.uf_table.use_loading_transition - }); -}); +/**
+ * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template.
+ * example: {{ assets.js('js/pages/sign-in-or-register') | raw }}
+ *
+ * This script depends on uf-table.js, moment.js, handlebars-helpers.js
+ *
+ * Target page: /activities
+ */
+
+$(document).ready(function () {
+ // Set up table of activities
+ $("#widget-activities").ufTable({
+ dataUrl: site.uri.public + "/api/activities",
+ useLoadingTransition: site.uf_table.use_loading_transition
+ });
+});
diff --git a/main/app/sprinkles/admin/assets/userfrosting/js/pages/dashboard.js b/main/app/sprinkles/admin/assets/userfrosting/js/pages/dashboard.js index d78d611..3ff241d 100644 --- a/main/app/sprinkles/admin/assets/userfrosting/js/pages/dashboard.js +++ b/main/app/sprinkles/admin/assets/userfrosting/js/pages/dashboard.js @@ -1,49 +1,49 @@ -/** - * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template. - * example: {{ assets.js('js/pages/sign-in-or-register') | raw }} - * - * Target page: /dashboard - */ - -$(document).ready(function () { - $('.js-clear-cache').click(function () { - $("body").ufModal({ - sourceUrl: site.uri.public + "/modals/dashboard/clear-cache", - ajaxParams: { - slug: $(this).data('slug') - }, - msgTarget: $("#alerts-page") - }); - - $("body").on('renderSuccess.ufModal', function (data) { - var modal = $(this).ufModal('getModal'); - var form = modal.find('.js-form'); - - form.ufForm() - .on("submitSuccess.ufForm", function () { - // Reload page on success - window.location.reload(); - }); - }); - }); - - // Table of site activities - $("#widget-activities").ufTable({ - dataUrl: site.uri.public + "/api/activities", - useLoadingTransition: site.uf_table.use_loading_transition - }); - - // Table of users in current user's group - $("#widget-group-users").ufTable({ - dataUrl: site.uri.public + "/api/groups/g/" + page.group_slug + "/users", - useLoadingTransition: site.uf_table.use_loading_transition - }); - - // Bind user creation button - bindUserCreationButton($("#widget-group-users")); - - // Bind user table buttons - $("#widget-group-users").on("pagerComplete.ufTable", function () { - bindUserButtons($(this)); - }); -}); +/**
+ * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template.
+ * example: {{ assets.js('js/pages/sign-in-or-register') | raw }}
+ *
+ * Target page: /dashboard
+ */
+
+$(document).ready(function () {
+ $('.js-clear-cache').click(function () {
+ $("body").ufModal({
+ sourceUrl: site.uri.public + "/modals/dashboard/clear-cache",
+ ajaxParams: {
+ slug: $(this).data('slug')
+ },
+ msgTarget: $("#alerts-page")
+ });
+
+ $("body").on('renderSuccess.ufModal', function (data) {
+ var modal = $(this).ufModal('getModal');
+ var form = modal.find('.js-form');
+
+ form.ufForm()
+ .on("submitSuccess.ufForm", function () {
+ // Reload page on success
+ window.location.reload();
+ });
+ });
+ });
+
+ // Table of site activities
+ $("#widget-activities").ufTable({
+ dataUrl: site.uri.public + "/api/activities",
+ useLoadingTransition: site.uf_table.use_loading_transition
+ });
+
+ // Table of users in current user's group
+ $("#widget-group-users").ufTable({
+ dataUrl: site.uri.public + "/api/groups/g/" + page.group_slug + "/users",
+ useLoadingTransition: site.uf_table.use_loading_transition
+ });
+
+ // Bind user creation button
+ bindUserCreationButton($("#widget-group-users"));
+
+ // Bind user table buttons
+ $("#widget-group-users").on("pagerComplete.ufTable", function () {
+ bindUserButtons($(this));
+ });
+});
diff --git a/main/app/sprinkles/admin/assets/userfrosting/js/pages/group.js b/main/app/sprinkles/admin/assets/userfrosting/js/pages/group.js index e54b897..57cd98d 100644 --- a/main/app/sprinkles/admin/assets/userfrosting/js/pages/group.js +++ b/main/app/sprinkles/admin/assets/userfrosting/js/pages/group.js @@ -1,24 +1,24 @@ -/** - * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template. - * example: {{ assets.js('js/pages/sign-in-or-register') | raw }} - * - * This script depends on uf-table.js, moment.js, handlebars-helpers.js - * - * Target page: /groups/g/{slug} - */ - -$(document).ready(function () { - // Control buttons - bindGroupButtons($("#view-group")); - - // Table of users in this group - $("#widget-group-users").ufTable({ - dataUrl: site.uri.public + '/api/groups/g/' + page.group_slug + '/users', - useLoadingTransition: site.uf_table.use_loading_transition - }); - - // Bind user table buttons - $("#widget-group-users").on("pagerComplete.ufTable", function () { - bindUserButtons($(this)); - }); -}); +/**
+ * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template.
+ * example: {{ assets.js('js/pages/sign-in-or-register') | raw }}
+ *
+ * This script depends on uf-table.js, moment.js, handlebars-helpers.js
+ *
+ * Target page: /groups/g/{slug}
+ */
+
+$(document).ready(function () {
+ // Control buttons
+ bindGroupButtons($("#view-group"));
+
+ // Table of users in this group
+ $("#widget-group-users").ufTable({
+ dataUrl: site.uri.public + '/api/groups/g/' + page.group_slug + '/users',
+ useLoadingTransition: site.uf_table.use_loading_transition
+ });
+
+ // Bind user table buttons
+ $("#widget-group-users").on("pagerComplete.ufTable", function () {
+ bindUserButtons($(this));
+ });
+});
diff --git a/main/app/sprinkles/admin/assets/userfrosting/js/pages/groups.js b/main/app/sprinkles/admin/assets/userfrosting/js/pages/groups.js index 42a1f05..f06eda8 100644 --- a/main/app/sprinkles/admin/assets/userfrosting/js/pages/groups.js +++ b/main/app/sprinkles/admin/assets/userfrosting/js/pages/groups.js @@ -1,24 +1,24 @@ -/** - * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template. - * example: {{ assets.js('js/pages/sign-in-or-register') | raw }} - * - * This script depends on widgets/groups.js, uf-table.js, moment.js, handlebars-helpers.js - * - * Target page: /groups - */ - -$(document).ready(function () { - - $("#widget-groups").ufTable({ - dataUrl: site.uri.public + "/api/groups", - useLoadingTransition: site.uf_table.use_loading_transition - }); - - // Bind creation button - bindGroupCreationButton($("#widget-groups")); - - // Bind table buttons - $("#widget-groups").on("pagerComplete.ufTable", function () { - bindGroupButtons($(this)); - }); -}); +/**
+ * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template.
+ * example: {{ assets.js('js/pages/sign-in-or-register') | raw }}
+ *
+ * This script depends on widgets/groups.js, uf-table.js, moment.js, handlebars-helpers.js
+ *
+ * Target page: /groups
+ */
+
+$(document).ready(function () {
+
+ $("#widget-groups").ufTable({
+ dataUrl: site.uri.public + "/api/groups",
+ useLoadingTransition: site.uf_table.use_loading_transition
+ });
+
+ // Bind creation button
+ bindGroupCreationButton($("#widget-groups"));
+
+ // Bind table buttons
+ $("#widget-groups").on("pagerComplete.ufTable", function () {
+ bindGroupButtons($(this));
+ });
+});
diff --git a/main/app/sprinkles/admin/assets/userfrosting/js/pages/permission.js b/main/app/sprinkles/admin/assets/userfrosting/js/pages/permission.js index 61eefb6..ccb6bde 100644 --- a/main/app/sprinkles/admin/assets/userfrosting/js/pages/permission.js +++ b/main/app/sprinkles/admin/assets/userfrosting/js/pages/permission.js @@ -1,20 +1,20 @@ -/** - * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template. - * example: {{ assets.js('js/pages/sign-in-or-register') | raw }} - * - * This script depends on uf-table.js, moment.js, handlebars-helpers.js - * - * Target page: /permissions/p/{id} - */ - -$(document).ready(function () { - $("#widget-permission-users").ufTable({ - dataUrl: site.uri.public + '/api/permissions/p/' + page.permission_id + '/users', - useLoadingTransition: site.uf_table.use_loading_transition - }); - - // Bind table buttons - $("#widget-permission-users").on("pagerComplete.ufTable", function () { - bindUserButtons($(this)); - }); -}); +/**
+ * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template.
+ * example: {{ assets.js('js/pages/sign-in-or-register') | raw }}
+ *
+ * This script depends on uf-table.js, moment.js, handlebars-helpers.js
+ *
+ * Target page: /permissions/p/{id}
+ */
+
+$(document).ready(function () {
+ $("#widget-permission-users").ufTable({
+ dataUrl: site.uri.public + '/api/permissions/p/' + page.permission_id + '/users',
+ useLoadingTransition: site.uf_table.use_loading_transition
+ });
+
+ // Bind table buttons
+ $("#widget-permission-users").on("pagerComplete.ufTable", function () {
+ bindUserButtons($(this));
+ });
+});
diff --git a/main/app/sprinkles/admin/assets/userfrosting/js/pages/permissions.js b/main/app/sprinkles/admin/assets/userfrosting/js/pages/permissions.js index 4881d25..46dfd3a 100644 --- a/main/app/sprinkles/admin/assets/userfrosting/js/pages/permissions.js +++ b/main/app/sprinkles/admin/assets/userfrosting/js/pages/permissions.js @@ -1,16 +1,16 @@ -/** - * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template. - * example: {{ assets.js('js/pages/sign-in-or-register') | raw }} - * - * This script depends on widgets/permissions.js, uf-table.js, moment.js, handlebars-helpers.js - * - * Target page: /permissions - */ - -$(document).ready(function () { - // Set up table of permissions - $("#widget-permissions").ufTable({ - dataUrl: site.uri.public + "/api/permissions", - useLoadingTransition: site.uf_table.use_loading_transition - }); -}); +/**
+ * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template.
+ * example: {{ assets.js('js/pages/sign-in-or-register') | raw }}
+ *
+ * This script depends on widgets/permissions.js, uf-table.js, moment.js, handlebars-helpers.js
+ *
+ * Target page: /permissions
+ */
+
+$(document).ready(function () {
+ // Set up table of permissions
+ $("#widget-permissions").ufTable({
+ dataUrl: site.uri.public + "/api/permissions",
+ useLoadingTransition: site.uf_table.use_loading_transition
+ });
+});
diff --git a/main/app/sprinkles/admin/assets/userfrosting/js/pages/role.js b/main/app/sprinkles/admin/assets/userfrosting/js/pages/role.js index 3bfcef7..f8f75b2 100644 --- a/main/app/sprinkles/admin/assets/userfrosting/js/pages/role.js +++ b/main/app/sprinkles/admin/assets/userfrosting/js/pages/role.js @@ -1,23 +1,23 @@ -/** - * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template. - * example: {{ assets.js('js/pages/sign-in-or-register') | raw }} - * - * This script depends on uf-table.js, moment.js, handlebars-helpers.js - * - * Target page: /roles/r/{slug} - */ - -$(document).ready(function () { - // Control buttons - bindRoleButtons($("#view-role")); - - $("#widget-role-permissions").ufTable({ - dataUrl: site.uri.public + '/api/roles/r/' + page.role_slug + '/permissions', - useLoadingTransition: site.uf_table.use_loading_transition - }); - - $("#widget-role-users").ufTable({ - dataUrl: site.uri.public + '/api/roles/r/' + page.role_slug + '/users', - useLoadingTransition: site.uf_table.use_loading_transition - }); -}); +/**
+ * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template.
+ * example: {{ assets.js('js/pages/sign-in-or-register') | raw }}
+ *
+ * This script depends on uf-table.js, moment.js, handlebars-helpers.js
+ *
+ * Target page: /roles/r/{slug}
+ */
+
+$(document).ready(function () {
+ // Control buttons
+ bindRoleButtons($("#view-role"));
+
+ $("#widget-role-permissions").ufTable({
+ dataUrl: site.uri.public + '/api/roles/r/' + page.role_slug + '/permissions',
+ useLoadingTransition: site.uf_table.use_loading_transition
+ });
+
+ $("#widget-role-users").ufTable({
+ dataUrl: site.uri.public + '/api/roles/r/' + page.role_slug + '/users',
+ useLoadingTransition: site.uf_table.use_loading_transition
+ });
+});
diff --git a/main/app/sprinkles/admin/assets/userfrosting/js/pages/roles.js b/main/app/sprinkles/admin/assets/userfrosting/js/pages/roles.js index 0643305..8818cb5 100644 --- a/main/app/sprinkles/admin/assets/userfrosting/js/pages/roles.js +++ b/main/app/sprinkles/admin/assets/userfrosting/js/pages/roles.js @@ -1,24 +1,24 @@ -/** - * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template. - * example: {{ assets.js('js/pages/sign-in-or-register') | raw }} - * - * This script depends on widgets/roles.js, uf-table.js, moment.js, handlebars-helpers.js - * - * Target page: /roles - */ - -$(document).ready(function () { - // Set up table of roles - $("#widget-roles").ufTable({ - dataUrl: site.uri.public + "/api/roles", - useLoadingTransition: site.uf_table.use_loading_transition - }); - - // Bind creation button - bindRoleCreationButton($("#widget-roles")); - - // Bind table buttons - $("#widget-roles").on("pagerComplete.ufTable", function () { - bindRoleButtons($(this)); - }); -}); +/**
+ * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template.
+ * example: {{ assets.js('js/pages/sign-in-or-register') | raw }}
+ *
+ * This script depends on widgets/roles.js, uf-table.js, moment.js, handlebars-helpers.js
+ *
+ * Target page: /roles
+ */
+
+$(document).ready(function () {
+ // Set up table of roles
+ $("#widget-roles").ufTable({
+ dataUrl: site.uri.public + "/api/roles",
+ useLoadingTransition: site.uf_table.use_loading_transition
+ });
+
+ // Bind creation button
+ bindRoleCreationButton($("#widget-roles"));
+
+ // Bind table buttons
+ $("#widget-roles").on("pagerComplete.ufTable", function () {
+ bindRoleButtons($(this));
+ });
+});
diff --git a/main/app/sprinkles/admin/assets/userfrosting/js/pages/user.js b/main/app/sprinkles/admin/assets/userfrosting/js/pages/user.js index 79d0301..ce75bd5 100644 --- a/main/app/sprinkles/admin/assets/userfrosting/js/pages/user.js +++ b/main/app/sprinkles/admin/assets/userfrosting/js/pages/user.js @@ -1,25 +1,25 @@ -/** - * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template. - * example: {{ assets.js('js/pages/sign-in-or-register') | raw }} - * - * This script depends on uf-table.js, moment.js, handlebars-helpers.js - * - * Target page: /users/u/{user_name} - */ - -$(document).ready(function () { - // Control buttons - bindUserButtons($("#view-user")); - - // Table of activities - $("#widget-user-activities").ufTable({ - dataUrl: site.uri.public + '/api/users/u/' + page.user_name + '/activities', - useLoadingTransition: site.uf_table.use_loading_transition - }); - - // Table of permissions - $("#widget-permissions").ufTable({ - dataUrl: site.uri.public + '/api/users/u/' + page.user_name + '/permissions', - useLoadingTransition: site.uf_table.use_loading_transition - }); -}); +/**
+ * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template.
+ * example: {{ assets.js('js/pages/sign-in-or-register') | raw }}
+ *
+ * This script depends on uf-table.js, moment.js, handlebars-helpers.js
+ *
+ * Target page: /users/u/{user_name}
+ */
+
+$(document).ready(function () {
+ // Control buttons
+ bindUserButtons($("#view-user"));
+
+ // Table of activities
+ $("#widget-user-activities").ufTable({
+ dataUrl: site.uri.public + '/api/users/u/' + page.user_name + '/activities',
+ useLoadingTransition: site.uf_table.use_loading_transition
+ });
+
+ // Table of permissions
+ $("#widget-permissions").ufTable({
+ dataUrl: site.uri.public + '/api/users/u/' + page.user_name + '/permissions',
+ useLoadingTransition: site.uf_table.use_loading_transition
+ });
+});
diff --git a/main/app/sprinkles/admin/assets/userfrosting/js/pages/users.js b/main/app/sprinkles/admin/assets/userfrosting/js/pages/users.js index 2e8685c..2051012 100644 --- a/main/app/sprinkles/admin/assets/userfrosting/js/pages/users.js +++ b/main/app/sprinkles/admin/assets/userfrosting/js/pages/users.js @@ -1,24 +1,24 @@ -/** - * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template. - * example: {{ assets.js('js/pages/sign-in-or-register') | raw }} - * - * This script depends on widgets/users.js, uf-table.js, moment.js, handlebars-helpers.js - * - * Target page: /users - */ - -$(document).ready(function () { - // Set up table of users - $("#widget-users").ufTable({ - dataUrl: site.uri.public + "/api/users", - useLoadingTransition: site.uf_table.use_loading_transition - }); - - // Bind creation button - bindUserCreationButton($("#widget-users")); - - // Bind table buttons - $("#widget-users").on("pagerComplete.ufTable", function () { - bindUserButtons($(this)); - }); -}); +/**
+ * Page-specific Javascript file. Should generally be included as a separate asset bundle in your page template.
+ * example: {{ assets.js('js/pages/sign-in-or-register') | raw }}
+ *
+ * This script depends on widgets/users.js, uf-table.js, moment.js, handlebars-helpers.js
+ *
+ * Target page: /users
+ */
+
+$(document).ready(function () {
+ // Set up table of users
+ $("#widget-users").ufTable({
+ dataUrl: site.uri.public + "/api/users",
+ useLoadingTransition: site.uf_table.use_loading_transition
+ });
+
+ // Bind creation button
+ bindUserCreationButton($("#widget-users"));
+
+ // Bind table buttons
+ $("#widget-users").on("pagerComplete.ufTable", function () {
+ bindUserButtons($(this));
+ });
+});
diff --git a/main/app/sprinkles/admin/assets/userfrosting/js/widgets/groups.js b/main/app/sprinkles/admin/assets/userfrosting/js/widgets/groups.js index cae3514..c25c702 100644 --- a/main/app/sprinkles/admin/assets/userfrosting/js/widgets/groups.js +++ b/main/app/sprinkles/admin/assets/userfrosting/js/widgets/groups.js @@ -1,111 +1,111 @@ -/** - * Groups widget. Sets up dropdowns, modals, etc for a table of groups. - */ - -/** - * Set up the form in a modal after being successfully attached to the body. - */ -function attachGroupForm() { - $("body").on('renderSuccess.ufModal', function (data) { - var modal = $(this).ufModal('getModal'); - var form = modal.find('.js-form'); - - /** - * Set up modal widgets - */ - // Set up any widgets inside the modal - form.find(".js-select2").select2({ - width: '100%' - }); - - // Auto-generate slug - form.find('input[name=name]').on('input change', function () { - var manualSlug = form.find('#form-group-slug-override').prop('checked'); - if (!manualSlug) { - var slug = getSlug($(this).val()); - form.find('input[name=slug]').val(slug); - } - }); - - form.find('#form-group-slug-override').on('change', function () { - if ($(this).prop('checked')) { - form.find('input[name=slug]').prop('readonly', false); - } else { - form.find('input[name=slug]').prop('readonly', true); - form.find('input[name=name]').trigger('change'); - } - }); - - // Set icon when changed - form.find('input[name=icon]').on('input change', function () { - $(this).prev(".icon-preview").find("i").removeClass().addClass($(this).val()); - }); - - // Set up the form for submission - form.ufForm({ - validators: page.validators - }).on("submitSuccess.ufForm", function () { - // Reload page on success - window.location.reload(); - }); - }); -} - -/** - * Link group action buttons, for example in a table or on a specific group's page. - */ -function bindGroupButtons(el) { - /** - * Link row buttons after table is loaded. - */ - - /** - * Buttons that launch a modal dialog - */ - // Edit group details button - el.find('.js-group-edit').click(function () { - $("body").ufModal({ - sourceUrl: site.uri.public + "/modals/groups/edit", - ajaxParams: { - slug: $(this).data('slug') - }, - msgTarget: $("#alerts-page") - }); - - attachGroupForm(); - }); - - // Delete group button - el.find('.js-group-delete').click(function () { - $("body").ufModal({ - sourceUrl: site.uri.public + "/modals/groups/confirm-delete", - ajaxParams: { - slug: $(this).data('slug') - }, - msgTarget: $("#alerts-page") - }); - - $("body").on('renderSuccess.ufModal', function (data) { - var modal = $(this).ufModal('getModal'); - var form = modal.find('.js-form'); - - form.ufForm() - .on("submitSuccess.ufForm", function () { - // Reload page on success - window.location.reload(); - }); - }); - }); -} - -function bindGroupCreationButton(el) { - // Link create button - el.find('.js-group-create').click(function () { - $("body").ufModal({ - sourceUrl: site.uri.public + "/modals/groups/create", - msgTarget: $("#alerts-page") - }); - - attachGroupForm(); - }); -}; +/**
+ * Groups widget. Sets up dropdowns, modals, etc for a table of groups.
+ */
+
+/**
+ * Set up the form in a modal after being successfully attached to the body.
+ */
+function attachGroupForm() {
+ $("body").on('renderSuccess.ufModal', function (data) {
+ var modal = $(this).ufModal('getModal');
+ var form = modal.find('.js-form');
+
+ /**
+ * Set up modal widgets
+ */
+ // Set up any widgets inside the modal
+ form.find(".js-select2").select2({
+ width: '100%'
+ });
+
+ // Auto-generate slug
+ form.find('input[name=name]').on('input change', function () {
+ var manualSlug = form.find('#form-group-slug-override').prop('checked');
+ if (!manualSlug) {
+ var slug = getSlug($(this).val());
+ form.find('input[name=slug]').val(slug);
+ }
+ });
+
+ form.find('#form-group-slug-override').on('change', function () {
+ if ($(this).prop('checked')) {
+ form.find('input[name=slug]').prop('readonly', false);
+ } else {
+ form.find('input[name=slug]').prop('readonly', true);
+ form.find('input[name=name]').trigger('change');
+ }
+ });
+
+ // Set icon when changed
+ form.find('input[name=icon]').on('input change', function () {
+ $(this).prev(".icon-preview").find("i").removeClass().addClass($(this).val());
+ });
+
+ // Set up the form for submission
+ form.ufForm({
+ validators: page.validators
+ }).on("submitSuccess.ufForm", function () {
+ // Reload page on success
+ window.location.reload();
+ });
+ });
+}
+
+/**
+ * Link group action buttons, for example in a table or on a specific group's page.
+ */
+function bindGroupButtons(el) {
+ /**
+ * Link row buttons after table is loaded.
+ */
+
+ /**
+ * Buttons that launch a modal dialog
+ */
+ // Edit group details button
+ el.find('.js-group-edit').click(function () {
+ $("body").ufModal({
+ sourceUrl: site.uri.public + "/modals/groups/edit",
+ ajaxParams: {
+ slug: $(this).data('slug')
+ },
+ msgTarget: $("#alerts-page")
+ });
+
+ attachGroupForm();
+ });
+
+ // Delete group button
+ el.find('.js-group-delete').click(function () {
+ $("body").ufModal({
+ sourceUrl: site.uri.public + "/modals/groups/confirm-delete",
+ ajaxParams: {
+ slug: $(this).data('slug')
+ },
+ msgTarget: $("#alerts-page")
+ });
+
+ $("body").on('renderSuccess.ufModal', function (data) {
+ var modal = $(this).ufModal('getModal');
+ var form = modal.find('.js-form');
+
+ form.ufForm()
+ .on("submitSuccess.ufForm", function () {
+ // Reload page on success
+ window.location.reload();
+ });
+ });
+ });
+}
+
+function bindGroupCreationButton(el) {
+ // Link create button
+ el.find('.js-group-create').click(function () {
+ $("body").ufModal({
+ sourceUrl: site.uri.public + "/modals/groups/create",
+ msgTarget: $("#alerts-page")
+ });
+
+ attachGroupForm();
+ });
+};
diff --git a/main/app/sprinkles/admin/assets/userfrosting/js/widgets/roles.js b/main/app/sprinkles/admin/assets/userfrosting/js/widgets/roles.js index 42b58ed..236fc53 100644 --- a/main/app/sprinkles/admin/assets/userfrosting/js/widgets/roles.js +++ b/main/app/sprinkles/admin/assets/userfrosting/js/widgets/roles.js @@ -1,147 +1,147 @@ -/** - * Roles widget. Sets up dropdowns, modals, etc for a table of roles. - */ - -/** - * Set up the form in a modal after being successfully attached to the body. - */ -function attachRoleForm() { - $("body").on('renderSuccess.ufModal', function (data) { - var modal = $(this).ufModal('getModal'); - var form = modal.find('.js-form'); - - /** - * Set up modal widgets - */ - - // Auto-generate slug - form.find('input[name=name]').on('input change', function () { - var manualSlug = form.find('#form-role-slug-override').prop('checked'); - if (!manualSlug) { - var slug = getSlug($(this).val()); - form.find('input[name=slug]').val(slug); - } - }); - - form.find('#form-role-slug-override').on('change', function () { - if ($(this).prop('checked')) { - form.find('input[name=slug]').prop('readonly', false); - } else { - form.find('input[name=slug]').prop('readonly', true); - form.find('input[name=name]').trigger('change'); - } - }); - - // Set up the form for submission - form.ufForm({ - validators: page.validators - }).on("submitSuccess.ufForm", function () { - // Reload page on success - window.location.reload(); - }); - }); -} - -/** - * Link role action buttons, for example in a table or on a specific role's page. - */ -function bindRoleButtons(el) { - /** - * Link row buttons after table is loaded. - */ - - // Manage permissions button - el.find('.js-role-permissions').click(function () { - var slug = $(this).data('slug'); - $("body").ufModal({ - sourceUrl: site.uri.public + "/modals/roles/permissions", - ajaxParams: { - slug: slug - }, - msgTarget: $("#alerts-page") - }); - - $("body").on('renderSuccess.ufModal', function (data) { - var modal = $(this).ufModal('getModal'); - var form = modal.find('.js-form'); - - // Set up collection widget - var permissionWidget = modal.find('.js-form-permissions'); - permissionWidget.ufCollection({ - dropdown: { - ajax: { - url: site.uri.public + '/api/permissions' - }, - placeholder: "Select a permission" - }, - dropdownTemplate: modal.find('#role-permissions-select-option').html(), - rowTemplate: modal.find('#role-permissions-row').html() - }); - - // Get current roles and add to widget - $.getJSON(site.uri.public + '/api/roles/r/' + slug + '/permissions') - .done(function (data) { - $.each(data.rows, function (idx, permission) { - permission.text = permission.name; - permissionWidget.ufCollection('addRow', permission); - }); - }); - - // Set up form for submission - form.ufForm({}).on("submitSuccess.ufForm", function () { - // Reload page on success - window.location.reload(); - }); - }); - }); - - /** - * Buttons that launch a modal dialog - */ - // Edit role details button - el.find('.js-role-edit').click(function () { - $("body").ufModal({ - sourceUrl: site.uri.public + "/modals/roles/edit", - ajaxParams: { - slug: $(this).data('slug') - }, - msgTarget: $("#alerts-page") - }); - - attachRoleForm(); - }); - - // Delete role button - el.find('.js-role-delete').click(function () { - $("body").ufModal({ - sourceUrl: site.uri.public + "/modals/roles/confirm-delete", - ajaxParams: { - slug: $(this).data('slug') - }, - msgTarget: $("#alerts-page") - }); - - $("body").on('renderSuccess.ufModal', function (data) { - var modal = $(this).ufModal('getModal'); - var form = modal.find('.js-form'); - - form.ufForm() - .on("submitSuccess.ufForm", function () { - // Reload page on success - window.location.reload(); - }); - }); - }); -} - -function bindRoleCreationButton(el) { - // Link create button - el.find('.js-role-create').click(function () { - $("body").ufModal({ - sourceUrl: site.uri.public + "/modals/roles/create", - msgTarget: $("#alerts-page") - }); - - attachRoleForm(); - }); -}; +/**
+ * Roles widget. Sets up dropdowns, modals, etc for a table of roles.
+ */
+
+/**
+ * Set up the form in a modal after being successfully attached to the body.
+ */
+function attachRoleForm() {
+ $("body").on('renderSuccess.ufModal', function (data) {
+ var modal = $(this).ufModal('getModal');
+ var form = modal.find('.js-form');
+
+ /**
+ * Set up modal widgets
+ */
+
+ // Auto-generate slug
+ form.find('input[name=name]').on('input change', function () {
+ var manualSlug = form.find('#form-role-slug-override').prop('checked');
+ if (!manualSlug) {
+ var slug = getSlug($(this).val());
+ form.find('input[name=slug]').val(slug);
+ }
+ });
+
+ form.find('#form-role-slug-override').on('change', function () {
+ if ($(this).prop('checked')) {
+ form.find('input[name=slug]').prop('readonly', false);
+ } else {
+ form.find('input[name=slug]').prop('readonly', true);
+ form.find('input[name=name]').trigger('change');
+ }
+ });
+
+ // Set up the form for submission
+ form.ufForm({
+ validators: page.validators
+ }).on("submitSuccess.ufForm", function () {
+ // Reload page on success
+ window.location.reload();
+ });
+ });
+}
+
+/**
+ * Link role action buttons, for example in a table or on a specific role's page.
+ */
+function bindRoleButtons(el) {
+ /**
+ * Link row buttons after table is loaded.
+ */
+
+ // Manage permissions button
+ el.find('.js-role-permissions').click(function () {
+ var slug = $(this).data('slug');
+ $("body").ufModal({
+ sourceUrl: site.uri.public + "/modals/roles/permissions",
+ ajaxParams: {
+ slug: slug
+ },
+ msgTarget: $("#alerts-page")
+ });
+
+ $("body").on('renderSuccess.ufModal', function (data) {
+ var modal = $(this).ufModal('getModal');
+ var form = modal.find('.js-form');
+
+ // Set up collection widget
+ var permissionWidget = modal.find('.js-form-permissions');
+ permissionWidget.ufCollection({
+ dropdown: {
+ ajax: {
+ url: site.uri.public + '/api/permissions'
+ },
+ placeholder: "Select a permission"
+ },
+ dropdownTemplate: modal.find('#role-permissions-select-option').html(),
+ rowTemplate: modal.find('#role-permissions-row').html()
+ });
+
+ // Get current roles and add to widget
+ $.getJSON(site.uri.public + '/api/roles/r/' + slug + '/permissions')
+ .done(function (data) {
+ $.each(data.rows, function (idx, permission) {
+ permission.text = permission.name;
+ permissionWidget.ufCollection('addRow', permission);
+ });
+ });
+
+ // Set up form for submission
+ form.ufForm({}).on("submitSuccess.ufForm", function () {
+ // Reload page on success
+ window.location.reload();
+ });
+ });
+ });
+
+ /**
+ * Buttons that launch a modal dialog
+ */
+ // Edit role details button
+ el.find('.js-role-edit').click(function () {
+ $("body").ufModal({
+ sourceUrl: site.uri.public + "/modals/roles/edit",
+ ajaxParams: {
+ slug: $(this).data('slug')
+ },
+ msgTarget: $("#alerts-page")
+ });
+
+ attachRoleForm();
+ });
+
+ // Delete role button
+ el.find('.js-role-delete').click(function () {
+ $("body").ufModal({
+ sourceUrl: site.uri.public + "/modals/roles/confirm-delete",
+ ajaxParams: {
+ slug: $(this).data('slug')
+ },
+ msgTarget: $("#alerts-page")
+ });
+
+ $("body").on('renderSuccess.ufModal', function (data) {
+ var modal = $(this).ufModal('getModal');
+ var form = modal.find('.js-form');
+
+ form.ufForm()
+ .on("submitSuccess.ufForm", function () {
+ // Reload page on success
+ window.location.reload();
+ });
+ });
+ });
+}
+
+function bindRoleCreationButton(el) {
+ // Link create button
+ el.find('.js-role-create').click(function () {
+ $("body").ufModal({
+ sourceUrl: site.uri.public + "/modals/roles/create",
+ msgTarget: $("#alerts-page")
+ });
+
+ attachRoleForm();
+ });
+};
|