about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/features/local_settings/page/item/index.js
diff options
context:
space:
mode:
authorStarfall <us@starfall.systems>2023-04-14 19:22:47 -0500
committerStarfall <us@starfall.systems>2023-04-14 19:22:47 -0500
commit4fe1689de43f4404eb9530fcfbcbfb26d6c1c13a (patch)
tree6811b845bb7f4966b10dcefa3dea404246f161c7 /app/javascript/flavours/glitch/features/local_settings/page/item/index.js
parent65c1e53a32cabcdbb7bca57002bb0f6acdebe07e (diff)
parentbed63f6dae0879ac840066b031229e0d139089cd (diff)
Merge remote-tracking branch 'glitch/main' HEAD main
Diffstat (limited to 'app/javascript/flavours/glitch/features/local_settings/page/item/index.js')
-rw-r--r--app/javascript/flavours/glitch/features/local_settings/page/item/index.js113
1 files changed, 0 insertions, 113 deletions
diff --git a/app/javascript/flavours/glitch/features/local_settings/page/item/index.js b/app/javascript/flavours/glitch/features/local_settings/page/item/index.js
deleted file mode 100644
index 6b24e4143..000000000
--- a/app/javascript/flavours/glitch/features/local_settings/page/item/index.js
+++ /dev/null
@@ -1,113 +0,0 @@
-//  Package imports
-import React from 'react';
-import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-
-//  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-
-export default class LocalSettingsPageItem extends React.PureComponent {
-
-  static propTypes = {
-    children: PropTypes.node.isRequired,
-    dependsOn: PropTypes.array,
-    dependsOnNot: PropTypes.array,
-    id: PropTypes.string.isRequired,
-    item: PropTypes.array.isRequired,
-    onChange: PropTypes.func.isRequired,
-    options: PropTypes.arrayOf(PropTypes.shape({
-      value: PropTypes.string.isRequired,
-      message: PropTypes.string.isRequired,
-      hint: PropTypes.string,
-    })),
-    settings: ImmutablePropTypes.map.isRequired,
-    placeholder: PropTypes.string,
-    disabled: PropTypes.bool,
-  };
-
-  handleChange = e => {
-    const { target } = e;
-    const { item, onChange, options, placeholder } = this.props;
-    if (options && options.length > 0) onChange(item, target.value);
-    else if (placeholder) onChange(item, target.value);
-    else onChange(item, target.checked);
-  }
-
-  render () {
-    const { handleChange } = this;
-    const { settings, item, id, options, children, dependsOn, dependsOnNot, placeholder, disabled } = this.props;
-    let enabled = !disabled;
-
-    if (dependsOn) {
-      for (let i = 0; i < dependsOn.length; i++) {
-        enabled = enabled && settings.getIn(dependsOn[i]);
-      }
-    }
-    if (dependsOnNot) {
-      for (let i = 0; i < dependsOnNot.length; i++) {
-        enabled = enabled && !settings.getIn(dependsOnNot[i]);
-      }
-    }
-
-    if (options && options.length > 0) {
-      const currentValue = settings.getIn(item);
-      const optionElems = options && options.length > 0 && options.map((opt) => {
-        let optionId = `${id}--${opt.value}`;
-        return (
-          <label htmlFor={optionId}>
-            <input type='radio'
-              name={id}
-              id={optionId}
-              value={opt.value}
-              onBlur={handleChange}
-              onChange={handleChange}
-              checked={ currentValue === opt.value }
-              disabled={!enabled}
-            />
-            {opt.message}
-            {opt.hint && <span className='hint'>{opt.hint}</span>}
-          </label>
-        );
-      });
-      return (
-        <div className='glitch local-settings__page__item radio_buttons'>
-          <fieldset>
-            <legend>{children}</legend>
-            {optionElems}
-          </fieldset>
-        </div>
-      );
-    } else if (placeholder) {
-      return (
-        <div className='glitch local-settings__page__item string'>
-          <label htmlFor={id}>
-            <p>{children}</p>
-            <p>
-              <input
-                id={id}
-                type='text'
-                value={settings.getIn(item)}
-                placeholder={placeholder}
-                onChange={handleChange}
-                disabled={!enabled}
-              />
-            </p>
-          </label>
-        </div>
-      );
-    } else return (
-      <div className='glitch local-settings__page__item boolean'>
-        <label htmlFor={id}>
-          <input
-            id={id}
-            type='checkbox'
-            checked={settings.getIn(item)}
-            onChange={handleChange}
-            disabled={!enabled}
-          />
-          {children}
-        </label>
-      </div>
-    );
-  }
-
-}