We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 3634
    • 19 Posts
    Is the manager modExt MODx documented anywhere? or at least presented un-minified?
    I see it has alot of methods one might use when extending the manager, but I don’t find any documentation regarding the subject.
    Some of them are inherited from Ext.Component but some are new.

    objects:
    MODx.initialConfig
    MODx.events
    MODx.config
    MODx.request
    MODx.Ajax
    MODx.lang
    MODx.action
    MODx.perm
    MODx.user
    MODx.util
    MODx.panel
    MODx.PanelSpacer
    MODx.tree
    MODx.combo
    MODx.grid
    MODx.portal
    MODx.browser
    MODx.LayoutMgr
    MODx.msg
    MODx.tvCounts
    MODx.tvMap
    MODx.window
    MODx.form
    MODx.toolbar
    MODx.page
    MODx.hiddenTabs
    MODx.bubbleEvents
    

    methods:
    MODx.Msg
    MODx.LockMask
    MODx.StaticTextField
    MODx.StaticBoolean
    MODx.Component
    MODx.Panel
    MODx.FormPanel
    MODx.Tabs
    MODx.Window
    MODx.ChangeParentField
    MODx.Console
    MODx.TreeDrop
    MODx.loadInsertElement
    MODx.insertAtCursor
    MODx.insertForRTE
    MODx.getQRContentField
    MODx.getQRSettings
    MODx.DataView
    MODx.Browser
    MODx.Layout
    MODx.loadPage
    MODx.changeMenu
    MODx.checkTV
    MODx.triggerRTEOnChange
    MODx.fireResourceFormChange
    MODx.resetTV
    MODx.refreshTVs
    MODx.constructor
    MODx.supr
    MODx.superclass
    MODx.override
    MODx.startup
    MODx.load
    MODx.initQuickTips
    MODx.getURLParameters
    MODx.loadAccordionPanels
    MODx.clearCache
    MODx.releaseLock
    MODx.sleep
    MODx.logout
    MODx.getPageStructure
    MODx.loadHelpPane
    MODx.addTab
    MODx.hideTab
    MODx._getNextActiveTab
    MODx.moveTV
    MODx.hideTV
    MODx.hideTVs
    MODx.renameLabel
    MODx.preview
    MODx.makeDroppable
    MODx.debug
    MODx.getActionEl
    MODx.initPlugin
    MODx.initComponent
    MODx.render
    MODx.update
    MODx.onAdded
    MODx.onRemoved
    MODx.initRef
    MODx.removeRef
    MODx.initState
    MODx.getStateId
    MODx.initStateEvents
    MODx.applyState
    MODx.getState
    MODx.saveState
    MODx.applyToMarkup
    MODx.addClass
    MODx.removeClass
    MODx.onRender
    MODx.getAutoCreate
    MODx.afterRender
    MODx.destroy
    MODx.deleteMembers
    MODx.beforeDestroy
    MODx.onDestroy
    MODx.getEl
    MODx.getContentTarget
    MODx.getId
    MODx.getItemId
    MODx.focus
    MODx.blur
    MODx.disable
    MODx.onDisable
    MODx.enable
    MODx.onEnable
    MODx.setDisabled
    MODx.show
    MODx.onShow
    MODx.hide
    MODx.doHide
    MODx.onHide
    MODx.getVisibilityEl
    MODx.setVisible
    MODx.isVisible
    MODx.cloneConfig
    MODx.getXType
    MODx.isXType
    MODx.getXTypes
    MODx.findParentBy
    MODx.findParentByType
    MODx.bubble
    MODx.getPositionEl
    MODx.purgeListeners
    MODx.clearMons
    MODx.createMons
    MODx.mon
    MODx.mun
    MODx.nextSibling
    MODx.previousSibling
    MODx.getBubbleTarget
    MODx.filterOptRe
    MODx.fireEvent
    MODx.addListener
    MODx.removeListener
    MODx.addEvents
    MODx.hasListener
    MODx.suspendEvents
    MODx.resumeEvents
    MODx.on
    MODx.un
    MODx.beforeMethod
    MODx.afterMethod
    MODx.removeMethodListener
    MODx.relayEvents
    MODx.enableBubble
    


    Thanks.
      • 27519
      • 275 Posts
      The whole Revo manager is based on the ExtJs framework. Primarily you should check the ExtJs documentation.

      If you want to extend the manager components, that will be a bit of a discovery project as there’s not much documentation.

      An un-minified version of modext.js should be in modx/manafer/assets/modext directory.

      I extended a couple of classes (combobox, date selector) and after a bit of trial and error got everything working (a good Javascript debugger is quite helpful).
        MODx Revolution / MAMP / OS X
        • 3634
        • 19 Posts
        The Ext js part I am aware of. I am interested in what MODx adds to the Ext.Component specifically. I am not that much interested in the extended base components of MODExt but in the manager client functionalities as invoking client events, calling client actions as I see they are listed and used in there:
        MODx.action= {
        browser: 3
        context: 65
        context/create: 4
        context/update: 5
        context/view: 6
        element: 7
        element/chunk: 8
        element/chunk/create: 9
        element/chunk/update: 10
        element/plugin: 11
        element/plugin/create: 12
        element/plugin/update: 13
        element/propertyset/index: 55
        element/snippet: 14
        element/snippet/create: 15
        element/snippet/update: 16
        element/template: 17
        element/template/create: 18
        element/template/tvsort: 20
        element/template/update: 19
        element/tv: 21
        element/tv/create: 22
        element/tv/update: 23
        element/view: 24
        help: 60
        index: 72
        resource: 25
        resource/create: 48
        resource/data: 28
        resource/empty_recycle_bin: 29
        resource/site_schedule: 56
        resource/tvs: 39
        resource/update: 30
        search: 47
        security: 31
        security/access/policy/template/update: 44
        security/access/policy/update: 42
        security/forms: 52
        security/forms/profile/update: 45
        security/forms/set/update: 46
        security/login: 35
        security/message: 69
        security/permission: 50
        security/profile: 68
        security/resourcegroup/index: 51
        security/role: 32
        security/user: 49
        security/user/create: 33
        security/user/update: 34
        security/usergroup/create: 26
        security/usergroup/update: 27
        system: 2
        system/action: 66
        system/contenttype: 64
        system/event: 58
        system/event/details: 36
        system/file: 40
        system/file/edit: 41
        system/import: 53
        system/import/html: 54
        system/info: 59
        system/logs/index: 57
        system/phpinfo: 38
        system/refresh_site: 37
        system/settings: 62
        welcome: 1
        workspaces: 61
        workspaces/lexicon: 63
        workspaces/namespace: 67
        workspaces/package/view: 43
        }
        


        and so on.

        Thanks.
          • 27519
          • 275 Posts
          Right. My guess is that at the moment you’ll have to delve in the code and explore.

          Or ask specific questions.
            MODx Revolution / MAMP / OS X
            • 3634
            • 19 Posts
            Ok , a specific question.
            My intention is to create in the manager new/update document form view of a visual representation of the children documents as list.



            What is the recommended approach for doing this?



            Thanks.
              • 27519
              • 275 Posts
              Not too sure if I understand what you want to do. If it involves the manager Tree view you might want to take a look at the MODx Tree class.

              /**
               * Generates the Tree in Ext. All modTree classes extend this base class.
               * 
               * @class MODx.tree.Tree
               * @extends Ext.tree.TreePanel
               * @constructor
               * @param {Object} config An object of options.
               * @xtype modx-tree
               */
              MODx.tree.Tree = function(config) {
              ...
              


              You’ll probably have to tear that apart and examine its workings and take it from there to see how you can integrate your app. You could make a small prototype of your app as a CMP (Custom Manager Page). Using CMP’s allows you to package them as "modules" and should make it relatively easy to use them in future releases of MODx.

              Hope this helps.
                MODx Revolution / MAMP / OS X
                • 3634
                • 19 Posts
                No, nothing related to the Tree. The Tree is just a diferent view in the leftBar. I want to create a different view inside the document update form. So under the fields for editing pagetitle, content, etc I want to add a view typology for the kids collection.


                Thanks.
                  • 27519
                  • 275 Posts
                  Right. Maybe you can do something with a plugin and a CMP? A plugin can be hooked to certain events. Maybe there’s an event that you can use and show a CMP with you custom view when that specific event is triggered. Otherwise - if you directly modify the Update Document window - you’d be changing the core and I don’t think if that’s a good way to go...
                    MODx Revolution / MAMP / OS X
                    • 3634
                    • 19 Posts
                    A CMP could do it but I really want to use everything that the manager is doing regarding the resource fields and TVs form update. Is there a easy way to reproduce that in a CMP?

                    Thank you.
                      • 27519
                      • 275 Posts
                      CMP’s are a challenge:

                      - Not very much documentation
                      - ExtJs is a challenging framework with a rather steep learning curve.

                      I suppose it can be done. CMP’s are basically manager panels wrapped as "individual apps".
                        MODx Revolution / MAMP / OS X