How do I disable Alfresco main menu items?

前端 未结 1 808
抹茶落季
抹茶落季 2021-01-21 16:11

The main menu on the Alfresco Share app contains a couple of items that the project team for our deployment wants to have disabled. Specifically \"My Files\" and \"Shared Files

1条回答
  •  盖世英雄少女心
    2021-01-21 17:06

    You have blog post describing how to hide main menu items at this link. It turned out later that this approach wasn't working on versions below 4.2.2. which is the case with your community version (4.2e) too.

    You can use workaround described at this link. Below is the exact code you need. At the bottom of share-header.get.js add following

    var widget, widgetsToRemove = [ "HEADER_SHARED_FILES", "HEADER_MY_FILES" ], idx, max;
    
    for (idx = 0, max = widgetsToRemove.length; idx < max; idx++)
    {  
        findAndRemoveIn(model.jsonModel.widgets, null, null, widgetsToRemove[idx]);
    }
    
    
    function findAndRemoveIn(obj, arrContext, arrIdx, id) {
    var idx, max, key;
    if (obj !== undefined && obj !== null) {
        if (Object.prototype.toString.apply(obj) === "[object Object]") {
            if (obj.hasOwnProperty("id") && obj.id === id) {
                if (arrContext !== null && arrIdx !== null)
                { arrContext.splice(arrIdx, 1); }
    
                else
                { logger .debug("Unexpected match outside of array structure: " + jsonUtils.toJSONString(obj)); }
    
            } else {
                for (key in obj) {
                    if (obj.hasOwnProperty(key))
                    { findAndRemoveIn(obj[key], null, null, id); }
    
                }
            }
        } else if (Object.prototype.toString.apply(obj) === "[object Array]") {
            for (idx = 0, max = obj.length; idx < max; idx++)
            { findAndRemoveIn(obj[idx], obj, idx, id); }
    
        }
      }
    }   
    

    Later you can write extension module when you get this working. Other elements such as HEADER_NAVIGATION_MENU_BAR, HEADER_TITLE_MENU, HEADER_TITLE can be removed from menu using widgetUtils.deleteObjectFromArray helper function. Last option is to use CSS.

    0 讨论(0)
提交回复
热议问题