правильно ли я понял принцип SOLID ? javascript

Всем привет. Посмотрите плиз, правильно ли я понял принцип SOLID ?

import Utils from './../../utils/utils.js';

    class Action {
      constructor() {
    
      }
    
      init(items) {
        if (items) {
          return items.concat();
        } else {
          return false;
        }
      }
    }
    
    class Append {
      constructor() {
    
      }
    
      actionToTable(data, getTemplate) {
        const actionsWrapper = document.querySelector('[js-action-wrapper]');
    
        data.forEach((action) => {
          const tr = document.createElement('tr');
          tr.classList.add('platform-table__row')
          tr.classList.add('action__row');
          tr.setAttribute('data-action', action.id);
          tr.innerHTML = getTemplate(action);
    
          actionsWrapper.appendChild(tr);
        });
      }
    }
    
    class Render {
      constructor() {
    
      }
    
      actionInTable(action) {
        return `
            <td class="platform-table__column action-id mr_15">${action.id}</td>
            <td class="platform-table__column action-date mr_15">${action.processDate}</td>
            <td class="platform-table__column action-name text-ellipsis mr_15" title="${action.name}">
                ${action.name}
            </td>
            <td class="platform-table__column action-type text-ellipsis mr_15" title="${action.type}">
                ${action.type}
            </td>
            <td class="platform-table__column action-mechanic text-ellipsis mr_15">
              ${action.mechanics}
            </td>
            <td class="platform-table__column action-manager text-ellipsis mr_15" title="${action.managers}">
                ${action.managers}
            </td>
            <td class="platform-table__column action-consider text-ellipsis mr_15">
              ${action.proceedType}
            </td>
            <td class="platform-table__column action-date mr_15">
              ${action.startDate}
            </td>
            <td class="platform-table__column action-date mr_15">
              ${action.endDate}
            </td>
            <td class="platform-table__column action-value mr_15" title="${action.value}">
              ${action.value}
            </td>
            <td class="platform-table__column action-reward-type mr_15">
              ${action.bonusType}
            </td>
            <td class="platform-table__column action-reward text-ellipsis mr_15" title="${action.bonus}">
              ${action.bonus}
            </td>
            <td class="platform-table__column action-winner text-ellipsis mr_15" title="${action.winner}}">
              ${action.winner}
            </td>          
            <td class="platform-table__column action-status mr_15">
              ${action.statusTitle}
            </td>
            <td class="platform-table__column action-remove">
              <div class="action__btn--remove"></div>
            </td>
        `
      }
    }
    
    class AddAction {
      constructor() {
    
      }
    
      addNewAction(item) {
        const openAddMenu = this.openAddMenu.bind(this);
        item.addEventListener('click', openAddMenu);
      }
    
      openAddMenu() {
        const menu = document.querySelector('[js-menu-create-action]');
        utils.openModalAnimation(menu, true);
      
        const getActionData = this.getActionData.bind(this);
        const data = getActionData();
      }
    
      getActionData() {
        console.log('Меню открылось, собираем данные с формы для новой акции');
      }
    }
    
    const action = new Action();
    const render = new Render();
    const append = new Append();
    const addAction = new AddAction();
    const utils = new Utils();
    
    function setActions(actions) {
      const ready = utils.ready();
    
      ready.then(() => {
        checkData(actions);
      });
    }
    
    const renderAction = function() {
      return new Promise((resolve) => {
        renderActionTemplate(actionsData, render.actionInTable);
        resolve();
      });
    }
    
    function checkData(actions) {
      const actionsData = action.init(actions);
    
      utils.hideLoader();
    
      if (actionsData) {
        renderAction().then(() => {
          setEvenetListeners();
        });
      } else {
        setError();
      }
    }
    
    function setEvenetListeners() {
      const addActionBtn = document.querySelector('[js-create-action]');
      addAction.addNewAction(addActionBtn);
    }
    
    function setError() {
      console.error('Data actions not defined');
    }
    
    function renderActionTemplate(actionsData, getTemplate) {
      append.actionToTable(actionsData, getTemplate);
    }
    
    /* Initialize actions */
    if (utils.getPage() === 'action') {
      setActions(items);
    }

Ответы (0 шт):