Here's what I did:

(1) In the sheet (you probably customized
AppWithinMinutes.LiveTableViewSheet) I added another hidden input
besides the one holding the URL template

{{html}}
<input type="hidden" value="$xwiki.getURL($entryDoc, 'edit',
"editor=inline&template=$!templateName&parent=WebHome")" />
<input type="hidden" name="entryName" value="put here what you want"
#if($condition)readonly="readonly"#end />
{{/html}}

(2) In the JSX I replaced

this.input = new Element('input', {type: 'text'});

with

this.input = trigger.up().next('input[name=entryName]');
this.input.type = 'text';
this.input.defaultValue = this.input.value;

and then

this.input.clear().focus();

with

this.input.value = this.input.defaultValue;
this.input.focus();

This way you control the entry name text input from the Velocity.

Hope this helps,
Marius

On Mon, Jun 11, 2012 at 3:28 PM, Gerritjan Koekkoek
<gerritjankoekk...@gmail.com> wrote:
> App Within Minutes creates a nice "Add record" button.
> After clicking the button a dialog is presented asking for input that is
> used to create a new documentname.
>
> This is (more or less, since i modified it slightly) the Java script that
> is added to the sheet by the app-within-minutes generator.
> My question is due to fact that i'm not a javascript expert, so solution
> might be very simple:
> I would like to generate the documentname based on user that is clicking
> the button
> If user in group X then input will be pre populated with 'Full Name" of
> that user and popup will not allow user to change this value;
> Confirmation would be like "New Question will be made for: [[Gerritjan
> Koekkoek]] and user can only proceed or cancel
> If user in group y the same behaviour; but now the inputbox would need to
> be open for change
> Confirmation would be like "New Question will be made for: [[Gerritjan
> Koekkoek]] but now user can change the input to 'Andree Benz' meaning that
> new question is posted by
> Gerritjan Koekkoek on behalf of Andree Benz.
> How would you suggest to change below script to get the desired effect?
> (see lineindicator ==> of what I thought would be a solution?
>
> var XWiki = (function (XWiki) {
>
> XWiki.EntryNamePopup = Class.create(XWiki.widgets.ModalPopup, {
>  initialize : function($super, trigger) {
>    trigger.observe('click', this.showDialog.bindAsEventListener(this));
>    this.urlTemplate = trigger.up().next('input[type=hidden]').value;
>
>    this.input = new Element('input', {type: 'text'});
>    this.addButton = new Element('input', {type: 'image', src:
> '$xwiki.getSkinFile('icons/silk/add.png')', alt:
> '$escapetool.javascript($msg.get('cdlsateprivat.CreateNewQuestionAltText'))'});
>
>    var container = new Element('div', {id: 'entryNamePopup'});
>    container.insert(this.input);
>    container.insert(this.addButton);
>
>    $super(container, {
>      show: {method: this.showDialog, keys: []},
>      add: {method: this._onAdd, keys: ['Enter']}
>    }, {
>      title:
> '$escapetool.javascript($msg.get('cdlsateprivat.CreateNewQuestionTitle'))',
>      verticalPosition: 'top'
>    });
>  },
>  createDialog : function($super, event) {
>    this.input.observe
>    this.addButton.observe('click', this._onAdd.bind(this));
>    $super(event);
>  },
>  showDialog : function($super, event) {
>    $super(event);
> ==>    $this.input.val() == 'Gerritjan Koekkoek' //this line did not work,
> how can I get it prepopulated (or suggested) with preferably XWiki variable
>    this.input.clear().focus();
>  },
>  _onAdd : function() {
>    if (this.input.value != '') {
>      window.self.location = this.urlTemplate.replace('__entryName__',
> encodeURIComponent(this.input.value));
>    } else {
>      this.input.focus();
>    }
>  }
> });
>
> function init() {
>  var actionBox = $('actionBox');
>  if(actionBox) {
>    new XWiki.EntryNamePopup(actionBox.down('.add'));
>    return true;
>  }
>  return false;
> }
> (XWiki.domIsLoaded && init()) || document.observe('xwiki:dom:loaded', init);
>
> return XWiki;
> }(XWiki || {}));
> _______________________________________________
> users mailing list
> users@xwiki.org
> http://lists.xwiki.org/mailman/listinfo/users
_______________________________________________
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users

Reply via email to