'use strict';
- var relationFieldsPathByContentType = "/admin/permissions-by-term/access-info-by-content-type/",
+ if ($("#edit-permissions-by-term-info").length > 0) {
+
+ var relationFieldsPathByContentType = "/admin/permissions-by-term/access-info-by-content-type/",
relationFieldsPathByUrl = "/admin/permissions-by-term/access-info-by-url?url=";
- /**
- * @type {Drupal~behavior}
- */
- Drupal.behaviors.nodeForm = {
- attach: function () {
+ /**
+ * @type {Drupal~behavior}
+ */
+ Drupal.behaviors.nodeForm = {
+ attach: function () {
- var contentType = getContentType(),
- getFormInfo = null;
+ var contentType = getContentType(),
+ getFormInfo = null;
- if (contentType !== null) {
- getFormInfo = $.get(relationFieldsPathByContentType + contentType);
- } else {
- getFormInfo = $.get(relationFieldsPathByUrl + window.location.pathname);
- }
+ if (contentType !== null) {
+ getFormInfo = $.get(relationFieldsPathByContentType + contentType);
+ } else {
+ getFormInfo = $.get(relationFieldsPathByUrl + window.location.pathname);
+ }
- $.when(getFormInfo).done(function(formInfo){
+ $.when(getFormInfo).done(function(formInfo){
- if (formInfo['taxonomyRelationFieldNames'] !== null) {
+ if (formInfo['taxonomyRelationFieldNames'] !== null) {
- var nodeForm = new NodeForm($),
- fieldWrapperCSSClasses = nodeForm.computeFieldWrapperCSSClasses(formInfo['taxonomyRelationFieldNames']);
+ var nodeForm = new NodeForm($),
+ fieldWrapperCSSClasses = nodeForm.computeFieldWrapperCSSClasses(formInfo['taxonomyRelationFieldNames']);
- initPermissionInfoByFormElements(nodeForm, fieldWrapperCSSClasses, formInfo);
+ initPermissionInfoByFormElements(nodeForm, fieldWrapperCSSClasses, formInfo);
- for (var index = 0; index < fieldWrapperCSSClasses.length; ++index) {
+ for (var index = 0; index < fieldWrapperCSSClasses.length; ++index) {
- var formElementCssClass = fieldWrapperCSSClasses[index];
+ var formElementCssClass = fieldWrapperCSSClasses[index];
- nodeForm.addFormElementCssClass(formElementCssClass);
+ nodeForm.addFormElementCssClass(formElementCssClass);
- $(formElementCssClass + ' select').change(function (){
- nodeForm.displayPermissionsBySelect(fieldWrapperCSSClasses, formInfo['permissions']);
- });
+ $(formElementCssClass + ' select').change(function (){
+ nodeForm.displayPermissionsBySelect(fieldWrapperCSSClasses, formInfo['permissions']);
+ });
- $(formElementCssClass + ' input[type="text"]').on('autocomplete-select', function (){
- nodeForm.displayPermissionsByAutocomplete(fieldWrapperCSSClasses, formInfo['permissions']);
- });
+ $(formElementCssClass + ' input[type="text"]').on('autocomplete-select', function (){
+ nodeForm.displayPermissionsByAutocomplete(fieldWrapperCSSClasses, formInfo['permissions']);
+ });
- $(formElementCssClass + ' input[type="text"]').on('keyup', function (){
- nodeForm.displayPermissionsByAutocomplete(fieldWrapperCSSClasses, formInfo['permissions']);
- });
+ $(formElementCssClass + ' input[type="text"]').on('keyup', function (){
+ nodeForm.displayPermissionsByAutocomplete(fieldWrapperCSSClasses, formInfo['permissions']);
+ });
- $(formElementCssClass + ' input[type="checkbox"]').change(function (){
- nodeForm.displayPermissionsByCheckbox($(this).prop('value'), $(this).prop('checked'), formInfo['permissions']);
- });
+ $(formElementCssClass + ' input[type="checkbox"]').change(function (){
+ nodeForm.displayPermissionsByCheckbox($(this).prop('value'), $(this).prop('checked'), formInfo['permissions']);
+ });
+ }
}
- }
- });
+ });
- function initPermissionInfoByFormElements(nodeForm, fieldWrapperCSSClasses, formInfo) {
- nodeForm.displayPermissionsBySelect(fieldWrapperCSSClasses, formInfo['permissions']);
- nodeForm.displayPermissionsByAutocomplete(fieldWrapperCSSClasses, formInfo['permissions']);
- nodeForm.displayPermissionsByCheckbox($(this).prop('value'), $(this).prop('checked'), formInfo['permissions']);
- }
+ function initPermissionInfoByFormElements(nodeForm, fieldWrapperCSSClasses, formInfo) {
+ nodeForm.displayPermissionsBySelect(fieldWrapperCSSClasses, formInfo['permissions']);
+ nodeForm.displayPermissionsByAutocomplete(fieldWrapperCSSClasses, formInfo['permissions']);
+ nodeForm.displayPermissionsByCheckbox($(this).prop('value'), $(this).prop('checked'), formInfo['permissions']);
+ }
+
+ function getContentType() {
+ if (window.location.href.indexOf('/node/add') !== -1) {
+ return window.location.href.split("/").pop();
+ }
- function getContentType() {
- if (window.location.href.indexOf('/node/add') !== -1) {
- return window.location.href.split("/").pop();
+ return null;
}
- return null;
}
+ };
+
+ if (Drupal.autocomplete) {
+ /**
+ * Handles an auto-complete select event.
+ *
+ * Override the autocomplete method to add a custom event. Overriding is
+ * happening to get full input.
+ *
+ * @param {jQuery.Event} event
+ * The event triggered.
+ * @param {object} ui
+ * The jQuery UI settings object.
+ *
+ * @return {boolean}
+ * Returns false to indicate the event status.
+ */
+ Drupal.autocomplete.options.select = function selectHandler(event, ui) {
+ var terms = Drupal.autocomplete.splitValues(event.target.value);
+ // Remove the current input.
+ terms.pop();
+ // Add the selected item.
+ if (ui.item.value.search(',') > 0) {
+ terms.push('"' + ui.item.value + '"');
+ }
+ else {
+ terms.push(ui.item.value);
+ }
+ event.target.value = terms.join(', ');
+ // Fire custom event that other controllers can listen to.
+ jQuery(event.target).trigger('autocomplete-select');
+ // Return false to tell jQuery UI that we've filled in the value already.
+ return false;
+ }
}
- };
-
- /**
- * Handles an auto-complete select event.
- *
- * Override the autocomplete method to add a custom event. Overriding is
- * happening to get full input.
- *
- * @param {jQuery.Event} event
- * The event triggered.
- * @param {object} ui
- * The jQuery UI settings object.
- *
- * @return {boolean}
- * Returns false to indicate the event status.
- */
- Drupal.autocomplete.options.select = function selectHandler(event, ui) {
- var terms = Drupal.autocomplete.splitValues(event.target.value);
- // Remove the current input.
- terms.pop();
- // Add the selected item.
- if (ui.item.value.search(',') > 0) {
- terms.push('"' + ui.item.value + '"');
- }
- else {
- terms.push(ui.item.value);
- }
- event.target.value = terms.join(', ');
- // Fire custom event that other controllers can listen to.
- jQuery(event.target).trigger('autocomplete-select');
-
- // Return false to tell jQuery UI that we've filled in the value already.
- return false;
}
-})(jQuery, window);
\ No newline at end of file
+})(jQuery, window);