Показывать Summernote в модальном режиме с использованием таблиц данных - Ruby on rails - PullRequest
0 голосов
/ 18 апреля 2019

Я использую таблицы данных и создаю и редактирую в модальностях начальной загрузки, но мне нужно показать summernote в модалах

index.html.erb:

<table style="width: 100%" dt-columns="dtColumnsWelcomes" dt-options="welcomesOptions" dt-instance="welcomesInstance" datatable="" class="table table-bordered table-striped">
        <thead>
        <tr>
          <th>name</th>
          <th>description</th>
          <th>Operations</th>
        </tr>
        </thead>
        <tbody>
        </tbody>
      </table>

<%= render 'client/welcomes/edit' %>

_edit.html.erb:

Здесь я отображаю форму в моем модальном

<div class="modal fade in" id="editWelcome" modal="editWelcome" close="cancelEdit()">
  <div class="modal-dialog modal-lg">
    <div class="modal-content">
      <form class="form-horizontal" name="formEditWelcome" novalidate>
        <input type="hidden" name="authenticity_token" ng-init="authenticity_token='<%= form_authenticity_token %>'">
        <div class="modal-header">
          <h4 class="modal-title">Editar datos de la bienvenida</h4>
        </div>
        <%= render 'client/welcomes/form' %>
        <div class="modal-footer">
          <button class="btn btn-warning" type="button" ng-click="cancelEdit()">Cancelar</button>
          <button class="btn btn-primary" type="button" ng-click="updateWelcome()">Guardar</button>
        </div>
      </form>
    </div>
  </div>
</div>

_form.html.erb:

это та часть, которая интересует меня в моей форме

<div class="row">
  <div class="col-md-12">
    <label class="col-md-4 control-label">Descripción:</label>
    <input type="text " id="welcome_description">
  </div>
</div>

welcome_data_table.erb:

Я передаю данные в свою таблицу

def data
    welcomes.map do |welcome|
      {
          'name' => welcome.name,
          'description' => welcome.description,
          'id' => welcome.id
      }
    end
  end

WelcomeController.js:

Здесь я передаю необходимые данные моемутаблица в индексе, чтобы я мог показать свои модалы

$scope.dtColumnsWelcomes = [
        DTColumnBuilder.newColumn('name').withTitle('Nombre'),
        DTColumnBuilder.newColumn('description').withTitle('Descripción'),
        DTColumnBuilder.newColumn('id').withTitle('Operaciones').notSortable().renderWith(function (data) {
            return '<a href="javascript:void(0)" ng-click="openEditWelcome(' + data + ')"><i class="fa fa-edit"></i></a> ' +
                '<a href="javascript:void(0)" ng-click="delete(' + data + ')"><i class="fa fa-trash"></i></a> ' +
                '<a href="javascript:void(0)" ng-click="openShowWelcome(' + data + ')"><i class="fa fa-eye"></i></a>'
        })
    ];

Я показываю модальные и инициализирую входные данные

$scope.openEditWelcome = function (welcome_id) {
        WelcomeService.getById(welcome_id).then(function (response) {
            if (response.status == CODE_SUCCESS) {
                $scope.welcome = response.data;
                $scope.editWelcome = true;
            }
        });
    };

Я пытался таким образом:

    $('#editWelcome').on('shown.bs.modal', function() {
            $("#welcome_description").summernote();
        });

$("#welcome_description").summernote({
            dialogsInBody: true
        });
...