class IExample(IResource): metadata("categories") index_field("boolean_field", type="boolean") boolean_field = schema.Bool(required=False) index_field("categories", field_mapping=CATEGORIES_MAPPING) categories = schema.List(title="categories", default=[], value_type=schema.JSONField(title="term", schema=TERM_SCHEMA)) textline_field = schema.TextLine(title="kk", widget="testing", required=False) text_field = schema.Text(required=False) dict_value = schema.Dict(key_type=schema.TextLine(), value_type=schema.TextLine(), required=False) datetime = schema.Datetime(required=False) jsonfield_value = schema.JSONField(schema={"type": "array"}, required=False) write_permission(write_protected="example.MyPermission") write_protected = schema.TextLine(title="Write protected field", required=False) default_factory_test = schema.Text(defaultFactory=lambda: "foobar") context_default_factory_test = schema.Text( defaultFactory=ContextDefaultFactory())
class ICMSBehavior(Interface): index_field("is_folderish", store=True, type="boolean") is_folderish = schema.Bool(title="Is a folderish object", readonly=True) index_field("hidden_navigation", store=True, type="boolean") fieldset("hidden_navigation", "settings") hidden_navigation = schema.Bool(title="Should be hidden on navigation", required=False, default=False) index_field("language", store=True, type="keyword") fieldset("language", "categorization") language = schema.Choice(title="Language", required=False, source="languages") index_field("content_layout", store=True, type="keyword") fieldset("content_layout", "settings") content_layout = schema.Choice(title="Content Layout", required=False, source="content_layouts", default="default") fieldset("allow_discussion", "settings") allow_discussion = schema.Bool(title="Allow discussion", required=False, default=False) # not absolute positioning, just a relative positioning # based on ordered numbers. It won't be numbers like 1,2,3,4,5,etc index_field("position_in_parent", type="int") position_in_parent = schema.Int(title="Position in parent", default=-1, required=False) index_field("review_state", store=True, type="keyword") review_state = schema.Choice(readonly=True, title="Workflow review state", required=False, source="worklow_states") history = schema.List( title="History list", readonly=True, required=False, value_type=schema.JSONField(title="History element", schema=HISTORY_SCHEMA), ) comments = schema.Dict( title="Comments list field", required=False, key_type=schema.TextLine(title="CommentID"), value_type=schema.JSONField(title="Comment", schema=DISCUSSION_SCHEMA), )
class IExample(IResource): metadata('categories') index_field('boolean_field', type='boolean') boolean_field = schema.Bool(required=False) index_field('categories', field_mapping=CATEGORIES_MAPPING) categories = schema.List(title='categories', default=[], value_type=schema.JSONField(title='term', schema=TERM_SCHEMA)) textline_field = schema.TextLine(title='kk', widget='testing', required=False) text_field = schema.Text(required=False) dict_value = schema.Dict(key_type=schema.TextLine(), value_type=schema.TextLine(), required=False) datetime = schema.Datetime(required=False) write_permission(write_protected='example.MyPermission') write_protected = schema.TextLine( title='Write protected field', required=False, ) default_factory_test = schema.Text(defaultFactory=lambda: 'foobar') context_default_factory_test = schema.Text( defaultFactory=ContextDefaultFactory())
class ICMSBehavior(Interface): index_field('hidden_navigation', type='boolean') fieldset('hidden_navigation', 'settings') hidden_navigation = schema.Bool(title='Should be hidden on navigation', required=False, default=False) index_field('language', type='keyword') fieldset('language', 'categorization') language = schema.Choice(title='Language', required=False, source='languages') index_field('content_layout', type='keyword') fieldset('content_layout', 'settings') content_layout = schema.Choice(title='Content Layout', required=False, source='content_layouts', default='default') index_field('position_in_parent', type='int') position = schema.Int(title='Position in parent', required=False) index_field('review_state', type='keyword') review_state = schema.Choice(readonly=True, title='Workflow review state', required=False, source='worklow_states') history = schema.List(title='History list', readonly=True, required=False, value_type=schema.JSONField(title='History element', schema=HISTORY_SCHEMA))
class ILayoutComponents(Interface): components = schema.JSONField( title="Layout enabled components by type", required=False, schema=LAYOUT_TYPE_COMPONENTS, defaultFactory=dict, )
class IReactPageLayout(Interface): fieldset_field("layout", "default") layout = schema.JSONField( title="Layout field", required=False, schema=REACT_PAGE_LAYOUT )
class IGutenberg(Interface): fieldset_field("gutenberg", "default") gutenberg = schema.List( title="Gutenberg list object", required=False, default=[], value_type=schema.JSONField(title="Element Gutenberg", schema=GUTENBERG_SCHEMA), )
class IMenu(Interface): definition = schema.JSONField(title="Menu definition", required=False, schema=MENU_LAYOUT, defaultFactory=list) logo = schema.Text(title="Logo", required=False, defaultFactory=get_default_logo)
class IFieldType(Interface): title = schema.Text() description = schema.Text() type = schema.Choice( values=["date", "integer", "text", "float", "keyword", "boolean"], required=True) required = schema.Bool(default=False) meta = schema.JSONField(title="Additional information on field", required=False, schema={ "type": "object", "properties": {} })
class IExample(IResource): metadata('categories') index('categories', type='nested') categories = schema.List(title='categories', default=[], value_type=schema.JSONField(title='term', schema=TERM_SCHEMA)) textline_field = schema.TextLine() text_field = schema.Text() dict_value = schema.Dict(key_type=schema.TextLine(), value_type=schema.TextLine()) datetime = schema.Datetime()
class IWorkflowBehavior(Interface): index_field("review_state", store=True, type="keyword") review_state = schema.Choice( readonly=True, title="Workflow review state", required=False, defaultFactory=DefaultReviewState(), source="worklow_states", ) history = schema.List( title="History list", readonly=True, required=False, defaultFactory=list, value_type=schema.JSONField(title="History element", schema=HISTORY_SCHEMA), )
class IExample(IResource): metadata('categories') index_field('categories', type='nested') categories = schema.List(title='categories', default=[], value_type=schema.JSONField(title='term', schema=TERM_SCHEMA)) textline_field = schema.TextLine(title='kk', widget='testing', required=False) text_field = schema.Text(required=False) dict_value = schema.Dict(key_type=schema.TextLine(), value_type=schema.TextLine(), required=False) datetime = schema.Datetime(required=False)
class IFieldType(Interface): title = schema.Text(required=False) description = schema.Text(required=False) type = schema.Choice( values=['date', 'integer', 'text', 'float', 'keyword', 'boolean'] ) required = schema.Bool( default=False, required=False ) meta = schema.JSONField( title="Additional information on field", required=False, schema=json.dumps({ 'type': 'object', 'properties': {} }) )
class IContentRuleSettings(Interface): rules = schema.JSONField()
class IAction(Interface): action_type = schema.TextLine() configuration = schema.JSONField()
class IContent(IItem): view = schema.Text() data = schema.JSONField()