Advertisement
Savelyev_Vyacheslav

client urgency

Jun 26th, 2023 (edited)
452
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (async () => {
  2.     window.s_widget_custom = window.s_widget_custom || {};
  3.     await s_widget.setFieldValue('isShowUrgency', false);
  4.  
  5.     const urlParams = new URLSearchParams(await window.location.search);
  6.  
  7.     await s_widget.setFieldValue('recordId', urlParams.get('record_id'));
  8.     await s_widget.setFieldValue('tableName', urlParams.get('table_name'));
  9.  
  10.     await s_widget.setFieldValue('action', 'INIT');
  11.     await s_widget.serverUpdate();
  12.  
  13.     setWidgetViewCollapsed();
  14.  
  15.     window.s_widget_custom.setWidgetView = (view) => {
  16.         if (view == 'collapsed') {
  17.             setWidgetViewCollapsed();
  18.         }
  19.         if (view == 'expanded') {
  20.             setWidgetViewExpanded();
  21.         }
  22.     };
  23.  
  24.     s_widget_custom.toggleHint = () => s_widget.setFieldValue('isShowHint', !s_widget.getFieldValue('isShowHint'));
  25.  
  26.     s_widget_custom.changeUrgency = () => {
  27.         setViewByOptions();
  28.         controlStyle();
  29.         buttonState();
  30.         s_widget.setFieldValue('toggleHint', false);
  31.     };
  32.  
  33.     s_widget_custom.save = async () => {
  34.         saveUrgency();
  35.         s_widget.setFieldValue('action', 'CHANGE_URGENCY');
  36.         await s_widget.serverUpdate();
  37.         s_widget.getFieldValue('isUrgencyChanged');
  38.         if (!s_widget.getFieldValue('isUrgencyChanged')) {
  39.             return;
  40.         }
  41.         const obj1 = SimpleEventBus.emit('reloadActivityFeed');
  42.     };
  43.  
  44.     function saveUrgency() {
  45.         setWidgetViewCollapsed();
  46.         s_widget.setFieldValue('setUrgency', s_widget.getFieldValue('urgencyValueForm').database_value);
  47.         s_widget.setFieldValue('action', 'SAVE_VALUE');
  48.         s_widget.serverUpdate();
  49.         buttonState();
  50.         controlText();
  51.         controlStyle();
  52.     }
  53.     function collapsedWidgetState() {
  54.         setWidgetViewCollapsed();
  55.         s_widget.setFieldValue('urgencyValueForm', s_widget.getFieldValue('argencyValueServer'));
  56.         buttonState();
  57.         controlText();
  58.         controlStyle();
  59.     }
  60.     function expandedWidgetState() {
  61.         setWidgetViewExpanded();
  62.         controlStyle();
  63.         controlText();
  64.     }
  65.     function toggleHint() {
  66.         s_widget.setFieldValue('toggleHint', !s_widget.getFieldValue('toggleHint'));
  67.     }
  68.     function setWidgetViewExpanded() {
  69.         s_widget.setFieldValue('buttonOpen', false);
  70.         s_widget.setFieldValue('buttonChoice', true);
  71.         s_widget.setFieldValue('toggleHint', false);
  72.         buttonState();
  73.     }
  74.     function setWidgetViewCollapsed() {
  75.         s_widget.setFieldValue('buttonOpen', true);
  76.         s_widget.setFieldValue('buttonChoice', false);
  77.         s_widget.setFieldValue('toggleHint', false);
  78.         buttonState();
  79.     }
  80.     function buttonState() {
  81.         s_widget.setFieldValue(
  82.             'userCanNotSave',
  83.             s_widget.getFieldValue('argencyValueServer').database_value ==
  84.                 s_widget.getFieldValue('urgencyValueForm').database_value
  85.         );
  86.         setViewByOptions();
  87.     }
  88.     function controlStyle() {
  89.         const stateWidget = getWidgetState();
  90.         changeStyle()[stateWidget.infoWarningBox][stateWidget.buttonChoice]();
  91.     }
  92.     function controlText() {
  93.         const stateWidget = getWidgetState();
  94.         const annotation = {
  95.             collapsed: s_widget.getFieldValue('urgencyValueForm').display_value,
  96.             expanded: s_widget.getFieldValue('annotationValue'),
  97.         }[stateWidget.buttonChoice];
  98.         s_widget.setFieldValue('annotation', annotation);
  99.     }
  100.     function setViewByOptions() {
  101.         s_widget.setFieldValue(
  102.             'infoWarningBox',
  103.             s_widget.getFieldValue('isShowWarning').includes(s_widget.getFieldValue('urgencyValueForm').database_value)
  104.         );
  105.     }
  106.     function getWidgetState() {
  107.         return {
  108.             infoWarningBox: s_widget.getFieldValue('infoWarningBox') ? 'warningWindowActive' : 'warningWindowDisActive',
  109.             buttonChoice: s_widget.getFieldValue('buttonChoice') ? 'expanded' : 'collapsed',
  110.         };
  111.     }
  112.     function changeStyle() {
  113.         const warningWindowActive = {
  114.             collapsed() {
  115.                 s_widget.setFieldValue(
  116.                     'urgencyWidgetStateAnnotation',
  117.                     'state-warning-on-widget-collapsed-form-annotation'
  118.                 );
  119.                 s_widget.setFieldValue('urgencyWidgetStateButton', 'state-warning-on-widget-collapsed-form-button');
  120.             },
  121.             expanded() {
  122.                 s_widget.setFieldValue(
  123.                     'urgencyWidgetStateAnnotation',
  124.                     'state-warning-on-widget-expanded-form-annotation'
  125.                 );
  126.                 s_widget.setFieldValue('urgencyWidgetStateButton', 'state-warning-on-widget-expanded-form-button');
  127.                 s_widget.setFieldValue('urgencyWidgetStateChoice', 'state-warning-on-widget-expanded-form-choice');
  128.             },
  129.         };
  130.         const warningWindowDisActive = {
  131.             collapsed() {
  132.                 s_widget.setFieldValue(
  133.                     'urgencyWidgetStateAnnotation',
  134.                     'state-warning-off-widget-collapsed-form-annotation'
  135.                 );
  136.                 s_widget.setFieldValue('urgencyWidgetStateChange', 'state-warning-off-widget-collapsed-form-change');
  137.                 s_widget.setFieldValue('urgencyWidgetStateWarning', 'state-warning-off-widget-collapsed-info-warning');
  138.                 s_widget.setFieldValue('urgencyWidgetStateChoice', 'state-warning-off-widget-collapsed-form-choice');
  139.             },
  140.             expanded() {
  141.                 s_widget.setFieldValue(
  142.                     'urgencyWidgetStateAnnotation',
  143.                     'state-warning-off-widget-expanded-form-annotation'
  144.                 );
  145.                 s_widget.setFieldValue('urgencyWidgetStateChange', 'state-warning-off-widget-expanded-form-change');
  146.                 s_widget.setFieldValue('urgencyWidgetStateWarning', 'state-warning-off-widget-expanded-info-warning');
  147.                 s_widget.setFieldValue('urgencyWidgetStateChoice', 'state-warning-off-widget-expanded-form-choice');
  148.                 s_widget.setFieldValue('urgencyWidgetStateButton', 'state-warning-off-widget-expanded-form-button');
  149.             },
  150.         };
  151.         return {warningWindowActive, warningWindowDisActive};
  152.     }
  153. })();
  154.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement