On Tue, May 26, 2020 at 8:44 PM Craig Russell <apache....@gmail.com> wrote:
>
> Sorry for not being clear. In the whimsy/lib there is a helper file svn.rb 
> that has a number of functions including update(path, msg, env, _, 
> options={}) that is used by roster memstat.json.rb and it contains the commit 
> in the function.
>
> I did not see a move or remove function in svn.rb. Should I be looking 
> somewhere else for examples of svn commands? Should I look at adding move and 
> remove functions to svn.rb?

Not currently.

I'm convinced that the right way forward is for all svn access to be
done via what you are calling helpers.  This not only makes the code
cleaner

Ruby: File.read(File.join(ASF::SVN['foundation_board'],
'board_agenda_06_17.txt')
JS: Board.read('board_agenda_06_17.txt')

... it also enables redirecting all commits to a local repository in
development, and mocking the repository in test.

In any case, all of the svn operations should be updated to make use
of --password-from-stdin where available, which unfortunately won't be
until whimsy-vm is upgraded to Ubuntu 20.04.

> Thanks,
> Craig

- Sam Ruby

> > On May 26, 2020, at 5:23 PM, Sam Ruby <ru...@intertwingly.net> wrote:
> >
> > On Tue, May 26, 2020 at 8:15 PM Craig Russell <apache....@gmail.com> wrote:
> >>
> >> The cancel button now works (thanks, Sam). On to the server side.
> >>
> >> To implement active->emeritus we need to update members.txt and move the 
> >> request file from emeritus-requests-received to emeritus.
> >>
> >> - Is there an svn function to move a file from one directory to another?
> >
> > http://svnbook.red-bean.com/en/1.6/svn.ref.svn.c.move.html
> >
> >> - Is there a way to have both things done in the same svn commit?
> >
> > If both the source and target have a common parent, do the svn commit
> > from that parent.
> >
> > When the secretary files board minutes,
> > 1) the minutes are moved to the website.  Those source and target
> > don't share a common parent, so two commits are required.
> > 2) the agenda is moved to a subdirectory.  The source and target share
> > a common parent, so one commit suffices.
> >
> >> To implement request_emeritus_status we need to create an email. Easy..
> >>
> >> To implement rescind_emeritus_request we need to svn rm the file from 
> >> emeritus-requests-received.
> >>
> >> - Is there an svn function to delete a file?
> >
> > http://svnbook.red-bean.com/en/1.6/svn.ref.svn.c.delete.html
> >
> >> Thanks,
> >> Craig
> >
> > - Sam Ruby
> >
> >>> On May 26, 2020, at 3:20 PM, Craig Russell <apache....@gmail.com> wrote:
> >>>
> >>> Here are the files.
> >>> <main.js.rb><memstat.js.rb>
> >>> And the console logs:
> >>> [Log]  dblclick event.currentTarget: [object HTMLDivElement] (app.js, 
> >>> line 3268)
> >>> [Log]  dblclick event.currentTarget.dataset: [object DOMStringMap] 
> >>> (app.js, line 3269)
> >>> [Log]  dblclick event.currentTarget.dataset.edit: memstat (app.js, line 
> >>> 3270)
> >>> [Log] canx called from Cancel button (app.js, line 4021)
> >>> [Log] event: [object MouseEvent] parent: [object HTMLButtonElement] 
> >>> (app.js, line 4024)
> >>> [Log] parent: [object HTMLButtonElement] memstatElement: [object 
> >>> HTMLDivElement] (app.js, line 4025)
> >>> [Log] preventing default (app.js, line 4026)
> >>> [Log] memstatElement.dataset: [object DOMStringMap] (app.js, line 4027)
> >>> [Log] memstatElement.dataset.edit: memstat (app.js, line 4028)
> >>> [Log]  submit event: [object Object] (app.js, line 3291)
> >>> [Log]  submit target: [object HTMLButtonElement] (app.js, line 3292)
> >>> [Log]  submit parent: [object HTMLButtonElement] (app.js, line 3293)
> >>> [Log]  submit parent.getAttribute(data_cancel): null (app.js, line 3294)
> >>> [Log]  submit target.dataset_edit: undefined (app.js, line 3295)
> >>> [Log]  submit target.dataset: [object DOMStringMap] (app.js, line 3296)
> >>> [Log]  submit target.dataset.edit: undefined (app.js, line 3297)
> >>> [Log]  submit memstatElement.dataset.edit: memstat (app.js, line 3298)
> >>> [Log]  submit cancel_submit: null (app.js, line 3300)
> >>>
> >>>> On May 26, 2020, at 2:19 PM, Sam Ruby <ru...@intertwingly.net> wrote:
> >>>>
> >>>> On Tue, May 26, 2020 at 1:32 AM Craig Russell <apache....@gmail.com> 
> >>>> wrote:
> >>>>>
> >>>>> But calling preventDefault on the event doesn't appear to do anything. 
> >>>>> It still calls the POST behavior, and does not cause the inline edit 
> >>>>> menu to disappear. And setting the edit function to nil doesn't do 
> >>>>> anything either.
> >>>>>
> >>>>> Maybe there is something else that I need to do?
> >>>>
> >>>> I'll admit that I'm not clear on what you are trying to accomplish,
> >>>> but apparently the problem here is that there is another piece of code
> >>>> that attaches an event handler (and calls preventDefault):
> >>>>
> >>>> https://github.com/apache/whimsy/blob/d3246f107a35f4d989350f4c1ca64366c98ef423/www/roster/views/person/main.js.rb#L341
> >>>>
> >>>> Perhaps it would be best to add an attribute to the button, and have
> >>>> the submit method remove the buttons and exit early:
> >>>>
> >>>> diff --git a/www/roster/views/person/main.js.rb
> >>>> b/www/roster/views/person/main.js.rb
> >>>> index 1b5ffdb8..f498489f 100644
> >>>> --- a/www/roster/views/person/main.js.rb
> >>>> +++ b/www/roster/views/person/main.js.rb
> >>>> @@ -355,6 +355,12 @@ class Person < Vue
> >>>>   form = jQuery(event.currentTarget).closest('form')
> >>>>   target = event.target
> >>>>
> >>>> +    # if button is a cancel button, don't submit and remove buttons
> >>>> +    if target.getAttribute('data-cancel')
> >>>> +      @edit = null
> >>>> +      return
> >>>> +    end
> >>>> +
> >>>>   # serialize form
> >>>>   formData = form.serializeArray();
> >>>>
> >>>> diff --git a/www/roster/views/person/memstat.js.rb
> >>>> b/www/roster/views/person/memstat.js.rb
> >>>> index 39367c40..e8d3d318 100644
> >>>> --- a/www/roster/views/person/memstat.js.rb
> >>>> +++ b/www/roster/views/person/memstat.js.rb
> >>>> @@ -35,6 +35,8 @@ class PersonMemberStatus < Vue
> >>>>              _button.btn.btn_primary 'move to emeritus',
> >>>>                name: 'action', value: 'emeritus'
> >>>>            end
> >>>> +
> >>>> +              _button.btn.btn_secondary 'cancel', data_cancel: true
> >>>>          end
> >>>>        end
> >>>>       end
> >>>>
> >>>> - Sam Ruby
> >>>
> >>> Craig L Russell
> >>> c...@apache.org
> >>>
> >>
> >> Craig L Russell
> >> c...@apache.org
> >>
>
> Craig L Russell
> c...@apache.org
>

Reply via email to