Как включить отключение тега привязки, полученного как html в строке java - PullRequest
0 голосов
/ 10 июля 2020

Вот краткое объяснение того, что я пытаюсь сделать

  1. Я инициализировал html тег привязки, подобный этому, и сохранил в Java строковую переменную
  2. У меня есть передал эти строки в javascript, где я использую Ext. js
  3. Я успешно показал html в Ext. js Столбцы сетки
  4. Теперь невозможно выполнить шаг 5
  5. Необходимо отключить и включить теги привязки для некоторых значений

Предполагаемые logi c для обработки тегов включения и отключения привязки приведены ниже с псевдокодом

if(status === "Pending")
     uploadActionBtn = enable
     downloadActionBtn = disable
   else if (status === "Under Observation")
     uploadActionBtn = disable
     downloadActionBtn = enable

Мой Java код

downloadActionBtn = "<a href='downloadDocument.do?cmStudDocId="+ cmStudDocId + "'><i class='fa fa-download fa-lg'></i></a>";
uploadActionBtn = "<a href='#' target='_blank' onclick=\"return openDocumentDiv(uploadFormDiv,'"+cmStudDocId+"');return false;\"  style='padding:1px 7px;'><i class='fa fa-upload fa-lg'></i></a>";

Мой Внешний js код

var downloadActBtn = records.documents[i].downloadActionBtn;
var uploadActBtn = records.documents[i].uploadActionBtn;
var actionsBtns = uploadActBtn  + downloadActBtn; 

columns:[
{
    text: 'Action',
    sortable: false,
    dataIndex: 'actionBtns',
    lockable:true,
    width:75
}

]

1 Ответ

0 голосов
/ 10 июля 2020

Вот пример включения / отключения ссылок в сетке с рендерером текстового поля и столбца действий

enter image description here

var urlStore = Ext.create('Ext.data.Store', {
    fields: ['url'],
    data: [{
        url: "www.google.de",
        linkEnabled: true
    }, {
        url: "www.bing.de",
        linkEnabled: false
    }, {
        url: "www.stern.de",
        linkEnabled: true
    }, {
        url: "www.focus.de",
        linkEnabled: false
    }]
});

Ext.create('Ext.grid.Panel', {
    title: "Urls Grid",
    store: urlStore,
    columns: [{
        text: 'URL',
        dataIndex: 'url',
        flex: 1,
        renderer: function(value, metaData, record){
            var cellContent = value;
            if(record.get('linkEnabled')) {
                cellContent = ' '+ value +'  '; } return cellContent; }}, {xtype: 'actioncolumn', текст: «Action», элементы: [{глиф: 'xf08e@FontAwesome', всплывающая подсказка: 'Edit », обработчик: function (grid, rowIndex, colIndex) {var record = grid. getStore (). getAt (rowIndex); если (record.get ('linkEnabled')) {предупреждение ("window.location =" + record.get ('url')); }}}]}], margin: 5, renderTo: Ext.getBody ()}); 
...