HI,
This works very well, thanks and actually is better like you said to manage
more from velocity.
Gerritjan
Op 11 jun. 2012, om 16:14 heeft Marius Dumitru Florea het volgende geschreven:
> 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
> <[email protected]> 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
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/users
> _______________________________________________
> users mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/users
_______________________________________________
users mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/users