Beispiel #1
0
def cardData(context,
             main=None,
             add=None,
             filterinfo=None,
             session=None,
             elementId=None):
    u'''Данные для карточки.'''
    grid_context = SessionContext(session).getGridContext()

    if add == 'add':
        xforms_data = {
            "schema": {
                "@xmlns": "",
                "context": {
                    "guid": str(uuid.uuid4()),
                    "first_column": "",
                    "second_column": "",
                    "third_column": "",
                    "fourth_column": "",
                    "fifth_column": "",
                }
            }
        }

    event_save = Event("event_save").setAction(Action().addActivity(
        DatapanelActivity().setPanel("current").setTab("current").addElement(
            DatapanelElement(grid_context.id, None))))

    xforms_settings = {"properties": {EVENT_TAG: [event_save.toJSONDict()]}}
    return createJythonDTO(xforms_data, xforms_settings)
Beispiel #2
0
 def __init__(self, inLinkId, inType=GeneralEventTypes.BUTTON_CLICK, inAction=Action()):
     """
     @param inLinkId (@c string) ИД события
     @param inType, inAction см. @c common.api.events.events._Events
     """
     super(Event, self).__init__(inType, inAction)
     self.__linkId = inLinkId
Beispiel #3
0
 def __init__(self, inType, inAction=Action()):
     """
     @param inType (@c common.api.events.events.GeneralEventTypes or
     @c common.api.events.events.GridEventTypes) тип события
     @param inAction (@c common.api.events.action.Action) действие по событию
     """
     self.__action = inAction
     self.__type = inType
Beispiel #4
0
 def __init__(self, inType, inAction=Action(), inColumn=None):
     """
     @param inType (<tt>константа common.api.events.events.GridEventTypes</tt>) тип события
     @param inAction (@c common.api.events.action.Action) действие по событию
     @param inColumn (@c string) столбец, на котором инициируется событие.
     Заполняется для типов @c GridEventTypes.CELL_SINGLE_CLICK и
     @c GridEventTypes.CELL_DOUBLE_CLICK
     """
     
     super(GridEvent, self).__init__(inType, inAction)
     self.__column = inColumn
Beispiel #5
0
def filter_action(fid,
                  height=250,
                  width=900,
                  add_context=None,
                  caption=u'Параметры поиска'):
    action = Action()
    action.showIn(ModalWindow(caption, width, height))
    action.add(
        DatapanelElement(
            fid, '{0}|{1}'.format(fid, add_context) if add_context else fid))

    return action
def gridToolBar(context, main=None, add=None, filterinfo=None, session=None, elementId=None):
    u'''Toolbar для грида '''

    toolBar = Toolbar()
    enableActiveButton = True

    toolBar.addItem(
        ToolbarItem("exampleCard")
            .setCaption(u"Добавить")
            .setHint(u"Добавить")
            .setAction(
            Action().add(DatapanelElement("exampleCard", "add")
                         )
                .showIn(ModalWindow(u"Добавить", 500, 400).setCloseOnEsc(enableActiveButton)
                        )
        )
    )
    toolBar.addItem(add_filter_buttons(filter_id=u"yourExampleFilter", session=session, is_object=True))

    return toolBar.toXML()
def exampleNavigator(context, session=None):
    session_json = json.loads(session)['sessioncontext']
    # создаём корневой фиктивный узел (не отображаемый)
    rootNode = NavigatorNode('root', 'root')

    # далее строим дерево, добавляя дочерние узлы, если требуется.
    # Класс NavigatorNode сам определяет уровни узлов - group, level

    # создаём узел раздела 1
    exampleMain = NavigatorNode('example', u'Тестовый раздел')

    # пункт раздела 11
    exampleSub = NavigatorNode('exampleSub',
                               u'Тестовы подраздел').setSelectOnLoad(True)
    exampleSub.setAction(Action().addActivity(
        DatapanelActivity(
            'example.datapanels.exampleDatapanel.exampleDatapanel.celesta',
            TabOrder.FIRST_OR_CURRENT)))
    exampleMain.addChild(exampleSub)
    rootNode.addChild(exampleMain)

    return rootNode.toJSONDict()
Beispiel #8
0
        }
        if self.items():
            gridtoolbar['gridtoolbar'].update({'#sorted': self._toJSONDict()})
        else:
            gridtoolbar['gridtoolbar'].update({ToolbarItemTypes.ITEM: ''})

        return gridtoolbar


if __name__ == '__main__':
    from common.api.events.activities import ClientActivity

    t = Toolbar()

    t.addItem(
        ToolbarItem('item1').setAction(Action().addActivity(
            ClientActivity().add('1', 'proc1'))))

    t.addItem(
        ToolbarItem('item2').setAction(Action().addActivity(
            ClientActivity().add('2', 'proc2'))))

    t.addSeparator()

    grp1 = ToolbarGroup('grp1')
    grp1.addItem(
        ToolbarItem('gi1').setAction(Action().addActivity(ClientActivity().add(
            'gi1', 'procGi1'))))

    grp1.addItem(
        ToolbarItem('gi2').setAction(Action().addActivity(ClientActivity().add(
            'gi2', 'procGi2'))))
Beispiel #9
0
            d["#sorted"] = srtLst

        return d


if __name__ == '__main__':
    from common.api.events.activities import DatapanelActivity
    rootNode = NavigatorNode(None, None)

    #     print rootNode.toJSONDict()

    n1 = NavigatorNode('g1', u'Group 1', inIcon='icon.png')

    n11 = NavigatorNode(
        'n1.1', u'Node 1.1',
        Action().addActivity(DatapanelActivity().add('datapanel1.xml',
                                                     'firstOrCurrent')))

    n11.setIcon('icon11.png')

    n1.addChild(n11)

    n1.addChild(
        NavigatorNode(
            'n1.2', u'Node 1.2',
            Action().addActivity(DatapanelActivity().add(
                'datapanel2.xml', 'firstOrCurrent'))).setSelectOnLoad(True))

    n11.addChild(
        NavigatorNode(
            'n1.1.1', u'Node 1.1.1',
            Action().addActivity(DatapanelActivity().add(