[Vtigercrm-developers] Creating a custom UIType?
nilay khatri
nilay.spartan at gmail.com
Mon Jun 22 14:33:09 GMT 2020
Ah yes, that's true.
For that you will have to override Vtiger_Field_Model in all the modules
where you intend to use the field.
I Agree, ajaxEdit has nothing to do with the MetaData and better if defined
in UIType class.
On Mon, Jun 22, 2020 at 7:48 PM Alan Lord <alanslists at gmail.com> wrote:
> Sure - I understand that. But that means I have to edit/change core
> vtiger code.
>
> I already have a Vtiger_Canvas_UIType class which is effectively
> standalone... I was making the point that this particular method
> (isAjaxEditable) seems to me to belong in the UIType model not in the
> general Field Model because it is not possible to extend it unless you
> know the specific *module* and a particular Module should not really
> have anything to do with a Field's structure or attributes - surely?
>
> Al
>
> On 22/06/2020 15:10, nilay khatri wrote:
> > You can do this in the Vtiger_Field_Model class under the isAjaxEditable
> > fn. by adding conditions for the UIType.
> >
> > If for a specific module, extend the Vtiger_Field_Model in your module
> > and restrict from there.
> >
> > On Mon, Jun 22, 2020 at 6:58 PM Alan Lord <alanslists at gmail.com
> > <mailto:alanslists at gmail.com>> wrote:
> >
> > Following up a bit on this, I'd like to make my new custom field
> > read-only in Detail View, i.e. disable Ajax Editing.
> >
> > However the method isAjaxEditable() exists in the Vtiger_Field_Model
> > (even though it mostly tests for UITypes), not in the UIType_Model
> > which
> > seems a bit odd to me and I can't see an easy way to extend/override
> > the
> > Field_Model class?
> >
> > I can do it from the client-side fairly easily but this method just
> > seems to be in the wrong class to me - by being in the Field_Model
> it's
> > suggesting that the function is dependent on the current *Module*,
> not
> > the current Field...?
> >
> > Cheers
> >
> > Al
> >
> >
> >
> > On 22/06/2020 11:40, Alan Lord wrote:
> > > I want to add a new UIType field to vtiger 7 that displays an html
> > > canvas element.
> > >
> > > Am I right in thinking I should register it vtiger_ws_fieldtype
> > and if I
> > > give it a fieldtype of "canvas" then I can extend the
> > Vtiger_Field_Model
> > > to load it?
> > >
> > > One thing I don't quite get is how in Detail Views the UIType
> > template
> > > file does not seem to be used at all - it only seems to be called
> > for
> > > Edit Views. So for Detail View do I need to modify the
> > > DetailViewBlockView.tpl for all/any modules where I might want to
> > use my
> > > new field?
> > >
> > > And in terms of choosing a UIType _number_ how do we prevent
> > possible
> > > collisions? I can choose something like 995 or whatever, but
> > presumably
> > > another developer could also choose the same number without
> knowing?
> >
> >
> > _______________________________________________
> > http://www.vtiger.com/
> >
> >
> > _______________________________________________
> > http://www.vtiger.com/
> >
> _______________________________________________
> http://www.vtiger.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.vtigercrm.com/pipermail/vtigercrm-developers/attachments/20200622/7817c19e/attachment.html>
More information about the vtigercrm-developers
mailing list