aelkner | and the menu disappears, but no <a> was clicked, so no new view is loaded | 00:00 |
---|---|---|
replaceafill | how do you click the <li>? | 00:00 |
aelkner | the <li> has padding, doesn't it | 00:01 |
aelkner | the <a> is inside that padding | 00:01 |
aelkner | i would think clicking on the padding of the <li> should do nothing | 00:01 |
aelkner | not make the menu disappear without doing anything | 00:01 |
aelkner | but, this is a picky point, i admit | 00:02 |
aelkner | it was just confusing wy you didn't understand my point | 00:02 |
aelkner | i could imagine that no user would care if the menu disappears without action | 00:02 |
aelkner | even though they clicked on it | 00:03 |
replaceafill | do you have your instance running? | 00:03 |
aelkner | no | 00:03 |
aelkner | is ther any padding? | 00:03 |
replaceafill | yes | 00:03 |
aelkner | and if you click on it? | 00:03 |
aelkner | the padding, ot the <a> | 00:03 |
aelkner | not | 00:03 |
replaceafill | start your instance ;) | 00:03 |
aelkner | ok | 00:04 |
aelkner | yeah, i started it | 00:05 |
aelkner | so call up a menu and then click on it outside the <a>, like the title of the menu | 00:05 |
aelkner | it makes the menu disappear, not the desired behaviour | 00:06 |
replaceafill | yes | 00:06 |
replaceafill | it disappears? | 00:06 |
aelkner | yep | 00:06 |
replaceafill | it doesnt dissapear here | 00:06 |
replaceafill | although it should :D | 00:06 |
aelkner | the logic of your code dictates that it would | 00:06 |
aelkner | that's been my point all along | 00:07 |
replaceafill | but it doesnt!! | 00:07 |
replaceafill | :D | 00:07 |
aelkner | even clicking on the menu's title? | 00:07 |
replaceafill | duh! | 00:07 |
replaceafill | my bad :D | 00:07 |
replaceafill | i'm watching YOUR branch :)) | 00:08 |
aelkner | :) | 00:08 |
replaceafill | bzr+ssh://bazaar.launchpad.net/~aelkner/schooltool.gradebook/popup_menu/ | 00:08 |
replaceafill | sorry :D | 00:08 |
aelkner | you were running an instance of that branch | 00:08 |
replaceafill | yes, of your old branch | 00:08 |
aelkner | but you didn't pull since i merged with yours | 00:09 |
replaceafill | no | 00:09 |
aelkner | so to fix this we would need the test to be better | 00:09 |
aelkner | that's why i had current_menu | 00:09 |
aelkner | and tested for the parent or parent of the parent | 00:09 |
aelkner | to make sure the event was not from inside the current menu | 00:10 |
replaceafill | pulled | 00:10 |
replaceafill | yes, it dissappears! | 00:10 |
aelkner | don't you have an instance of your own branch that you can run | 00:11 |
aelkner | i would think you would have had to in order to code the change | 00:11 |
replaceafill | no, it's that i reverted my last commit to see the diff | 00:11 |
replaceafill | well, it's your task, so you do it :D | 00:12 |
replaceafill | and btw | 00:12 |
aelkner | :) | 00:12 |
replaceafill | you should make those <li><a> display: block | 00:12 |
aelkner | what does that do? | 00:12 |
replaceafill | so the link spans through the whole li | 00:12 |
replaceafill | the current form: | 00:13 |
replaceafill | [ Edit ] | 00:13 |
replaceafill | so if you click on the whitespace nothing happens | 00:13 |
replaceafill | it should be: | 00:13 |
replaceafill | [___Edit___] | 00:13 |
replaceafill | meaning the whole block is a link | 00:13 |
replaceafill | not that all the whitespace should be underlined | 00:13 |
aelkner | wold it ot be underlined? | 00:14 |
aelkner | not | 00:14 |
replaceafill | no, only text is underlined | 00:14 |
replaceafill | aelkner ok, are you going to do that now? or should we move to dialogs again? | 00:16 |
replaceafill | by that i mean, fixing the test | 00:16 |
replaceafill | and finally after like 22 hours i understood your point! | 00:16 |
aelkner | i'm a patient man :) | 00:16 |
replaceafill | i'm not :P | 00:17 |
aelkner | i added display: blcok to the <a> and clicking on the <li> does cause the link to be visited | 00:17 |
aelkner | unless i click on the border between the <li> elements | 00:17 |
aelkner | and of course the menu's title would still ave the same issue | 00:18 |
aelkner | i hate my keyboard, if i don't pound on each key, some get dropped | 00:18 |
aelkner | that explains my constant types | 00:18 |
replaceafill | :D | 00:18 |
replaceafill | your types? | 00:18 |
aelkner | saying 'ot' for 'not' | 00:18 |
replaceafill | :D | 00:18 |
aelkner | typos! :) that one was on me | 00:18 |
aelkner | anyway, i can play with the menu stuff when we feel that we need it | 00:19 |
replaceafill | cool | 00:19 |
aelkner | right now it's just a proof of concept that th1a wanted | 00:20 |
replaceafill | moving back to the modal_Test branch | 00:20 |
aelkner | and it got me learning jquery, so it was a good project all around | 00:20 |
aelkner | right | 00:20 |
replaceafill | did you see my branch? | 00:20 |
replaceafill | the modal_test one | 00:20 |
aelkner | the latest one, from today? | 00:21 |
aelkner | yeah, i already read it all, just changes for z3c form, no jquery-ui yet | 00:21 |
replaceafill | correct | 00:21 |
replaceafill | first, you need to insert the jquery ui stuff | 00:22 |
replaceafill | file resources | 00:22 |
replaceafill | do you want me to do it? | 00:22 |
aelkner | how do you mean 'insert the jquey ui stuff'? | 00:22 |
replaceafill | i thought you should do it, so you can see what files were needed | 00:22 |
replaceafill | register the .js files as file resources | 00:23 |
aelkner | the src="jquery..."? | 00:23 |
replaceafill | putting the files in skin/resources and enabling them though zcml | 00:23 |
aelkner | isn't that something that is to be done once and used many? | 00:23 |
replaceafill | http://bazaar.launchpad.net/~replaceafill/schooltool/schooltool_jquery-ui/revision/2799 | 00:24 |
replaceafill | it should be done once | 00:24 |
aelkner | yeah, that's when you added jquery-ui to the branch | 00:24 |
aelkner | a big commit, i remember | 00:24 |
replaceafill | we need to do the same | 00:25 |
replaceafill | trunk doesnt have it | 00:25 |
aelkner | coldn't we just merge that revision to our new branch? | 00:25 |
aelkner | that would help bring in the whole juery directory | 00:26 |
replaceafill | wanna try? | 00:26 |
aelkner | sure | 00:26 |
replaceafill | go ahead, i'll try too | 00:26 |
aelkner | i tried: | 00:28 |
aelkner | bzr merge -r 2799..2799 lp:~replaceafill/schooltool/schooltool_jquery-ui | 00:28 |
aelkner | it said, Nothing to do | 00:28 |
aelkner | how rude! | 00:28 |
replaceafill | :D | 00:28 |
replaceafill | i'm trying: | 00:28 |
replaceafill | bzr merge lp:~replaceafill/schooltool/schooltool_jquery-ui -r 2799 | 00:28 |
replaceafill | but the network is too slow | 00:28 |
replaceafill | 725 conflicts encountered. :| | 00:31 |
replaceafill | aelkner i'll better insert the changes myself :/ | 00:31 |
aelkner | i did the command you just typed, and it worked, i think | 00:33 |
aelkner | lots of files came down, looking... | 00:33 |
replaceafill | you didnd get conflicts? | 00:33 |
aelkner | http://pastebin.com/fX66jWFZ | 00:34 |
replaceafill | ah great! | 00:35 |
aelkner | no, it isn't surprising as the changes are localized to the skin | 00:35 |
aelkner | is there anything i should check before commiting and pushing | 00:35 |
replaceafill | no | 00:36 |
replaceafill | jquery.ui.js is added to the main template | 00:37 |
replaceafill | but you have to explicitly add jquery.ui.dialog.js in your templates | 00:37 |
replaceafill | ah, but this is the big jquery.ui.js file | 00:38 |
replaceafill | so no extra files are needed | 00:38 |
replaceafill | dialog is there | 00:38 |
aelkner | 'but you have to explicitly add jquery.ui.dialog.js in your templates' | 00:39 |
replaceafill | no | 00:39 |
aelkner | you mean just the part that sets up the dialog and activates it on click | 00:39 |
replaceafill | hold on, let me check the jquery.ui.js file | 00:39 |
aelkner | i pushed lp:~aelkner/schooltool/modal_test | 00:39 |
aelkner | you can merge from it now | 00:40 |
replaceafill | great, i'll merge from yours | 00:40 |
replaceafill | thanks | 00:40 |
aelkner | btw, they played game 3 last night? i missed it | 00:42 |
aelkner | i thougt the Mavs had lost game 2, so i shut it off | 00:42 |
replaceafill | :) | 00:42 |
replaceafill | good game | 00:42 |
aelkner | another one | 00:42 |
replaceafill | ok, merged | 00:43 |
aelkner | i don't usually follow b-ball, but i'm pulling for Novinski to get his title | 00:43 |
aelkner | it's too easy to like Lebron | 00:43 |
aelkner | i go for the underdogs | 00:43 |
replaceafill | aelkner let me know when you're ready :) | 00:56 |
aelkner | sorry, didn't realize ou were waiting for me to say so | 00:58 |
replaceafill | np | 00:59 |
aelkner | i was waiting for you! | 00:59 |
aelkner | anyway, we have the js library | 00:59 |
aelkner | so far, we have the need for a hidden div and some .ready() js | 01:00 |
replaceafill | correct | 01:00 |
replaceafill | but first, the inline view | 01:00 |
replaceafill | i mean, z3c.form | 01:00 |
aelkner | and we should make a base view class that has the class attrinutes | 01:00 |
replaceafill | because right now, that view PersonPreferencesView renders the whole page | 01:01 |
replaceafill | for the dialog we need only the <form> tag | 01:01 |
aelkner | yes, the new view | 01:01 |
replaceafill | so, let's start with the new view | 01:01 |
*** alga has quit IRC | 01:01 | |
aelkner | perhaps we should discuss CourseInlineAddView | 01:02 |
aelkner | as a working example, i could understand your explanation easily | 01:02 |
replaceafill | yes | 01:02 |
replaceafill | the new view can subclass the current PersonPreferencesView | 01:02 |
aelkner | so if you could explain CourseInlineAddView first, i'll probably be able to suggest the changes to PersonPreferencesView | 01:06 |
aelkner | i mean, the main thing is the jquery integration and the class metods in the new view class | 01:07 |
aelkner | for me it's easier to start from something that works and then discuss differences | 01:07 |
aelkner | self.actions['add'].onclick = self.addScript() | 01:09 |
replaceafill | ok | 01:09 |
replaceafill | let me get courseinlineaddview | 01:09 |
replaceafill | first, the template | 01:10 |
replaceafill | see templates/course_inline_form.pt | 01:10 |
replaceafill | we only get the <form> tag | 01:10 |
replaceafill | rendered | 01:10 |
replaceafill | so, the new view should render only <form></form> | 01:11 |
aelkner | because it's replacing the hidden div | 01:11 |
replaceafill | hhmm no | 01:11 |
aelkner | i tried to guess | 01:11 |
replaceafill | the hidden div will be in the person index view | 01:11 |
aelkner | i thought that's where the dialog lives in the DOM | 01:12 |
replaceafill | the hidden div has to live in the page where the dialog will be displayed | 01:12 |
aelkner | so i thought the form you were talking about went into the hidden div | 01:12 |
aelkner | anyway, i should let you finish your point, sorry | 01:13 |
replaceafill | np | 01:13 |
replaceafill | ok, let's focus only on a view that renders <form></form> | 01:13 |
replaceafill | ok? | 01:13 |
aelkner | ok | 01:13 |
replaceafill | for that, subclassing the current view and using the template i mentioned is enough | 01:14 |
replaceafill | so, do that | 01:14 |
replaceafill | register the view though zcml | 01:14 |
replaceafill | start your instance and visit it | 01:14 |
replaceafill | see the source and you will have only <form></form> | 01:15 |
aelkner | the <html> is then gone? | 01:15 |
replaceafill | yes | 01:15 |
aelkner | i should firebug your course add view now | 01:15 |
aelkner | so as i said before, the form is slapped into the hidden div | 01:18 |
replaceafill | you're done with the inline view? | 01:18 |
aelkner | i haven't started changing anything | 01:19 |
aelkner | i'm still groking, i was hoping you would help me with that | 01:19 |
replaceafill | ah sorry, i thought you were going to do it as we speak :) | 01:20 |
aelkner | that's why i'm talking about the form html being inserted into the hidden div | 01:20 |
replaceafill | my bad | 01:20 |
aelkner | well, if it's that simple, sure | 01:20 |
replaceafill | i think you should do it now | 01:20 |
aelkner | i'll look over your instructions, one sec | 01:20 |
aelkner | when you say, subclass, you also mean adding all the methods that CourseInlineAddView has | 01:21 |
replaceafill | no | 01:21 |
replaceafill | just changing the template | 01:21 |
aelkner | subclass the view just for the one template= statement, right? | 01:22 |
replaceafill | yes | 01:23 |
replaceafill | http://pastebin.com/h4Ms2UZ3 | 01:23 |
replaceafill | and registering though zcml so it's reachable | 01:23 |
aelkner | yeah, well, if you did it already, why don't i just merge it? | 01:24 |
aelkner | my point is, i'd like to understand the mechanism, not see small diffs | 01:24 |
replaceafill | then do it... | 01:24 |
replaceafill | i show you the diff just to compare | 01:24 |
aelkner | just merge it? | 01:24 |
aelkner | with what? | 01:24 |
replaceafill | no, you code it | 01:25 |
aelkner | ok, fine | 01:25 |
replaceafill | i just think it's easier to do that to read ;) | 01:27 |
replaceafill | i'm just doing it myself to be sure what i tell you works | 01:27 |
*** menesis has quit IRC | 01:28 | |
aelkner | replaceafill, when you say visit it, you mean type the url, because there is no js to call it up, right? | 01:33 |
replaceafill | yes | 01:34 |
aelkner | ok, so i have the naked form with no html or css around it | 01:36 |
aelkner | next step? | 01:36 |
replaceafill | great | 01:36 |
replaceafill | let's go to the person index view | 01:36 |
replaceafill | schooltool.basicperson.browser.person.PersonView | 01:37 |
replaceafill | specifically to the template | 01:37 |
aelkner | it's small | 01:37 |
aelkner | the view is, i mean | 01:37 |
replaceafill | there we insert the hidden div | 01:37 |
replaceafill | z3c.form magic :) | 01:37 |
replaceafill | i think you can insert the hidden div under the person.Info viewlet | 01:38 |
replaceafill | actually, it's not hidden! it's just empty ;) | 01:38 |
aelkner | we should have a convention for where we put the hidden div i think | 01:39 |
aelkner | i mean, it doesn't really matter where it goes as long as it's inside <body> | 01:39 |
replaceafill | yes | 01:39 |
replaceafill | it's id is important | 01:39 |
aelkner | why not put it at top as a convention | 01:39 |
replaceafill | your call :) | 01:39 |
aelkner | let the person browsing the template to see up front one of the trickier parts of the template | 01:40 |
replaceafill | i like bottom :P | 01:40 |
aelkner | and it's not even that much html, so it doesn't get in the way | 01:40 |
replaceafill | ok, put it wherever you want | 01:40 |
aelkner | if the bottom, then i'd say always all the way to the bottom | 01:40 |
replaceafill | :/ | 01:40 |
aelkner | i'm just talking about convention, for ease of reading source | 01:40 |
aelkner | it's a small point, i know | 01:41 |
replaceafill | ok, did you insert it? | 01:42 |
aelkner | anyway, you were saying after the info-block, which is at the bottom, so that sounds like consistency :) | 01:42 |
aelkner | <div id="addform" tal:condition="view/canModify">? | 01:42 |
aelkner | well, no | 01:42 |
replaceafill | without the condition | 01:42 |
replaceafill | and you can use another id | 01:42 |
aelkner | ok | 01:43 |
replaceafill | this is not an add form | 01:43 |
replaceafill | it's an edit form on preferences | 01:43 |
aelkner | again, we need a naming convention | 01:43 |
aelkner | are all add forms going to have id addform? | 01:43 |
replaceafill | preferences-dialog? | 01:43 |
aelkner | if not, should the course add form have id, "course_addform"? | 01:44 |
aelkner | this is why i asked about flourish at the meeting today | 01:44 |
aelkner | just arbitrarily naming things according to present mood is hostile to future code readers! | 01:45 |
replaceafill | this is iteration 1 aelkner :) | 01:45 |
replaceafill | i know what you mean | 01:45 |
aelkner | ok, but keep in mind, it's never too early to think abot it | 01:45 |
aelkner | decisions made in what-ifs often get set in stone later | 01:45 |
aelkner | because no-one has the time (or inclination) to re-visit | 01:46 |
replaceafill | not a big issue at this point | 01:46 |
hoffman | you guys still talking? | 01:46 |
hoffman | That's the kind of dedication I like to see. | 01:46 |
replaceafill | :) | 01:46 |
aelkner | anyway, i'll use a name that matches the .html name as much as makes sense, i think | 01:47 |
replaceafill | i'm in a small room, so... no where to go :( | 01:47 |
replaceafill | aelkner +1 | 01:47 |
replaceafill | aelkner ready to move on? | 01:48 |
replaceafill | i have my beautiful empty <div></div> set | 01:49 |
aelkner | what about id="person-preferences-form"? | 01:49 |
replaceafill | whatever you want aelkner! | 01:49 |
aelkner | and do we want minus signs instead of underscores | 01:49 |
replaceafill | yes! | 01:49 |
replaceafill | that's important actually | 01:49 |
replaceafill | dots mean something in jquery | 01:50 |
replaceafill | so be careful with them | 01:50 |
aelkner | i was talking minus versus underscore | 01:50 |
replaceafill | ah sorry :) | 01:50 |
replaceafill | either is fine | 01:50 |
replaceafill | just be aware of dots :) | 01:50 |
aelkner | activity_heading uses underscore | 01:51 |
replaceafill | for ids and classes | 01:51 |
aelkner | so i have the div, what next | 01:51 |
replaceafill | ok | 01:51 |
aelkner | the js, i'm guessing | 01:51 |
replaceafill | yes | 01:51 |
replaceafill | in the same person index template | 01:52 |
replaceafill | you need a custom <script></script> tag | 01:52 |
replaceafill | you already have the "extrahead" slot used there | 01:52 |
aelkner | i can copy that block from the course one | 01:53 |
replaceafill | your call | 01:53 |
aelkner | btw, what do you mean extrahead is already used in person.pt? i can't find it | 01:54 |
replaceafill | in person_view.pt | 01:54 |
aelkner | person_view.pt? | 01:55 |
replaceafill | you're in the person index view right? | 01:56 |
aelkner | view class? | 01:56 |
aelkner | PersonView(BrowserView) | 01:56 |
replaceafill | i told you at 16:36... | 01:56 |
replaceafill | schooltool.basicperson.browser.person.PersonView | 01:57 |
aelkner | as i just typed | 01:57 |
replaceafill | personview doesnt subclass browserview | 01:57 |
aelkner | i just pasted that from person.py | 01:58 |
replaceafill | aelkner just follow that class i pasted | 01:59 |
* replaceafill thinks aelkner is looking at schooltool.person.browser.person.PersonView | 02:00 | |
aelkner | +class PersonPreferencesInlineView(PersonPreferencesView) | 02:00 |
aelkner | yes, i was, what else? | 02:00 |
aelkner | you say person view, i think person view, funny that | 02:00 |
replaceafill | :S | 02:00 |
aelkner | so please restate what you want me to do without saying 'that view we talked about two hours ago' | 02:01 |
replaceafill | ok, baby steps... | 02:01 |
replaceafill | go to: /schooltool/basicperson/browser/templates/person_view.pt | 02:01 |
replaceafill | where i assumed you already inserted your <div></div> | 02:02 |
aelkner | oh, basicperson | 02:02 |
replaceafill | ¬¬ | 02:02 |
aelkner | nope inserted it in person.pt | 02:02 |
replaceafill | i wish i was as patient as aelkner is :P | 02:02 |
replaceafill | i bet you did ;) | 02:02 |
replaceafill | no biggie, we're working on basicperson | 02:03 |
aelkner | well, hell, i've been making all these changes to teh person package | 02:04 |
replaceafill | :/ | 02:04 |
replaceafill | i think you should render the views to check everything works | 02:04 |
aelkner | wait, the preferences view IS in the person package | 02:05 |
replaceafill | yep | 02:05 |
aelkner | so you see why i got lost | 02:05 |
replaceafill | no i dont :D | 02:05 |
replaceafill | since i pasted you the right class ;) | 02:05 |
aelkner | yeah, and i never miss a thing | 02:06 |
replaceafill | ok, i'll type everything twice ;) | 02:06 |
replaceafill | ok, i'll type... | 02:06 |
replaceafill | :P | 02:06 |
aelkner | no, no | 02:06 |
replaceafill | i'm just messing with you aelkner, sorry | 02:07 |
aelkner | i figure i only need to change one thing in basicperson | 02:07 |
aelkner | the inline view stays in the person package, right? | 02:07 |
replaceafill | yes | 02:07 |
aelkner | NOW i see the extrahead :) | 02:08 |
replaceafill | eeeh | 02:09 |
aelkner | so that metal block just to render <script> is ugly | 02:10 |
aelkner | anyway, i have the same js as the course_Container view had | 02:11 |
aelkner | do i need to add class attributes to the basicperson view class? | 02:11 |
replaceafill | yep | 02:11 |
replaceafill | change the template to match the attribute in the template | 02:11 |
replaceafill | sorry in the view | 02:11 |
replaceafill | and i added a method to the class called addform_inline_url | 02:12 |
replaceafill | that renders the inline url | 02:12 |
aelkner | i asked before why not just do that in the pt file? | 02:15 |
replaceafill | whatever you like the most ;) | 02:15 |
aelkner | just adding the class attribute to the specific python view class doesn't help anything | 02:15 |
replaceafill | you will need logic in the template to do it though ;) | 02:16 |
aelkner | also, the id, why is that in the view class?> | 02:16 |
replaceafill | again, i was looking for a general solution aelkner | 02:16 |
replaceafill | and since you're good detecting patterns, you'll get there ;) | 02:16 |
aelkner | but then you suggest putting in the specific view class | 02:16 |
aelkner | that is not general | 02:17 |
replaceafill | so, make it general ;) | 02:17 |
aelkner | besides, the specific need has no generalization | 02:17 |
aelkner | var addform_id = '#' + '<metal:block tal:replace="view/addform_id" />'; | 02:17 |
replaceafill | when you have 10 dialogs, you let me know what's general :P | 02:17 |
aelkner | why not just say var addform_id = '#addform' | 02:18 |
replaceafill | go ahead | 02:18 |
aelkner | ok | 02:18 |
replaceafill | but one tiny detail... | 02:18 |
replaceafill | did you call your hidden div "addform"? | 02:18 |
aelkner | no | 02:18 |
replaceafill | ;) | 02:19 |
aelkner | person_preferences_form | 02:19 |
replaceafill | so, change it | 02:19 |
aelkner | if, on the other hand, the js code was dynamically generated | 02:19 |
aelkner | then there would be a view class tat went along with that | 02:19 |
replaceafill | you'll get there | 02:19 |
aelkner | we should think this over with yvl in the morning | 02:19 |
aelkner | for now pasting the js into each form is all we got | 02:20 |
replaceafill | ok, can you show me what you put in <script></script> | 02:20 |
aelkner | one sec | 02:23 |
aelkner | replaceafill, so the part about changing the click of the action link | 02:31 |
aelkner | you have XXX there for good reason | 02:32 |
replaceafill | yep | 02:32 |
replaceafill | for testing purposes, you can use the same | 02:32 |
replaceafill | *THAT* you need to run it by yvl | 02:32 |
aelkner | what does the test mean | 02:32 |
replaceafill | ok | 02:32 |
replaceafill | $('div.content-nav a:last').click(function(e) { | 02:32 |
replaceafill | assing the handler to the click function of the last action button | 02:33 |
replaceafill | if you use it as it is, you'll get it in Reports button | 02:33 |
aelkner | ok, so a hack just for now | 02:33 |
replaceafill | then you call the dialog to show it | 02:34 |
replaceafill | passing width as the only parameter | 02:34 |
replaceafill | i append 30px to the form width | 02:34 |
replaceafill | so the dialog leaves a little room for the form | 02:34 |
aelkner | i see | 02:35 |
replaceafill | open the dialog and prevent the action to follow the Reports link | 02:35 |
replaceafill | try it | 02:36 |
replaceafill | and can you push your changes? | 02:36 |
replaceafill | so i can merge | 02:36 |
aelkner | i was getting the dialog to come up, but it was empty because the url was wrong for the load | 02:44 |
aelkner | i reversed inline and index in index_inline.html | 02:44 |
aelkner | then i when i fixed it, the script doesn't come up in firebug anymore | 02:44 |
aelkner | i'm confused by this at the moment | 02:45 |
replaceafill | can you push your changes? | 02:46 |
aelkner | sure | 02:46 |
aelkner | pushed | 02:47 |
replaceafill | pulling | 02:47 |
aelkner | i see a problem | 02:48 |
aelkner | i still have the minus signs for some reason | 02:48 |
aelkner | in the empty div's id, i mean | 02:49 |
replaceafill | aelkner it works here | 02:49 |
aelkner | how could that be, did you change the form id? | 02:49 |
replaceafill | nope, i just merged your changes | 02:50 |
replaceafill | http://img31.imageshack.us/img31/3070/pantallazolli.png | 02:50 |
aelkner | never mind, i was looking at an older diff before i changed it i guess | 02:50 |
replaceafill | :/ | 02:51 |
replaceafill | so it works for you too? | 02:51 |
aelkner | no, when i click on Reports from the person index view, it ust goes to the reports | 02:51 |
aelkner | what the hell? | 02:52 |
replaceafill | :D | 02:52 |
replaceafill | bzr status | 02:52 |
replaceafill | maybe you accidentally changed something | 02:52 |
aelkner | no changes | 02:52 |
replaceafill | aelkner | 02:53 |
replaceafill | open firebug | 02:53 |
replaceafill | go to Console | 02:53 |
replaceafill | and reload the page | 02:53 |
replaceafill | you should get no errors | 02:54 |
aelkner | yeah, no errors | 02:55 |
aelkner | but no js either | 02:55 |
aelkner | you know when you go to script | 02:55 |
aelkner | and it tells you to hut the reload button | 02:55 |
aelkner | the panel has two pulldowns, all and jquery.js | 02:56 |
aelkner | i think usually the page js would come up instead | 02:56 |
replaceafill | you restarted the server right? :) | 02:57 |
* replaceafill is confused... | 02:57 | |
aelkner | yes | 02:57 |
aelkner | and it's not in the page source in the browser either | 02:57 |
replaceafill | you're in the person index view right? | 02:58 |
aelkner | now it works! | 02:58 |
replaceafill | !!!! | 02:58 |
replaceafill | what was it? | 02:58 |
aelkner | i was in the home view :) | 02:59 |
replaceafill | :| | 02:59 |
aelkner | it has the same action buttons, so... | 02:59 |
replaceafill | ok | 02:59 |
replaceafill | so, you see it works correct | 02:59 |
replaceafill | but that's not ajaxy enough | 02:59 |
replaceafill | because when you hit Apply the whole page is reloaded | 02:59 |
aelkner | yeah it works like a charm | 02:59 |
aelkner | ah, yes, that | 03:00 |
aelkner | well, we can start on that tomorrow | 03:00 |
replaceafill | ok | 03:00 |
replaceafill | we also need a better form to customize | 03:00 |
replaceafill | something with more than optional checkboxes | 03:00 |
replaceafill | ok, let's work on that tomorrow | 03:00 |
replaceafill | any questions? | 03:01 |
aelkner | well, i'm not sure the contents matters as much as the machinery | 03:01 |
aelkner | one field to change 100 fields, same difference | 03:01 |
replaceafill | nope | 03:01 |
replaceafill | suppose you get an error on the form | 03:02 |
replaceafill | your current solution would render the non-css form | 03:02 |
replaceafill | with the error | 03:02 |
aelkner | oh | 03:02 |
replaceafill | same for cancel | 03:02 |
aelkner | that wold't be good | 03:02 |
replaceafill | cancel will submit the form | 03:02 |
replaceafill | cancel would just have to close the dialog | 03:02 |
replaceafill | not submit the form | 03:02 |
aelkner | ok, anyway, i'm done for today, how about you? | 03:03 |
replaceafill | that's what course inline view does | 03:03 |
replaceafill | me two, have to spend time with my daughter :) | 03:03 |
replaceafill | see you tomorrow | 03:03 |
aelkner | what time? | 03:03 |
replaceafill | usual meeting time? | 03:03 |
replaceafill | correct? | 03:03 |
aelkner | usual for this week, or usual for monday? | 03:03 |
aelkner | today we met at 8:30 | 03:03 |
replaceafill | i thought th1a said "usual" as in every week | 03:04 |
aelkner | ok, sounds good to me | 03:04 |
replaceafill | dont trust me though ;) | 03:04 |
aelkner | do you trust yourself? | 03:04 |
replaceafill | "Regular time." | 03:04 |
replaceafill | dont trust anyone! | 03:05 |
aelkner | ok, 9:30 it is | 03:05 |
replaceafill | see you aelkner | 03:05 |
replaceafill | good work with the dialog stuff :) | 03:05 |
aelkner | thanks, it was a good day | 03:05 |
aelkner | have fun with the family! | 03:06 |
replaceafill | thanks :) | 03:06 |
*** replaceafill has quit IRC | 03:10 | |
*** aks has joined #schooltool | 06:13 | |
*** aks has joined #schooltool | 06:13 | |
*** th1a has quit IRC | 07:36 | |
*** hoffman has quit IRC | 07:57 | |
*** alga has joined #schooltool | 08:49 | |
*** alga has quit IRC | 09:21 | |
*** menesis has joined #schooltool | 09:28 | |
*** alga has joined #schooltool | 10:31 | |
*** menesis has quit IRC | 11:02 | |
*** menesis has joined #schooltool | 12:42 | |
*** ignas has joined #schooltool | 12:47 | |
*** alga has quit IRC | 13:21 | |
*** ignas has quit IRC | 14:23 | |
*** aks has quit IRC | 14:32 | |
*** alga has joined #schooltool | 14:34 | |
*** yvl has quit IRC | 14:36 | |
*** ignas has joined #schooltool | 15:03 | |
*** th1a has joined #schooltool | 15:58 | |
*** replaceafill has joined #schooltool | 16:09 | |
*** yvl has joined #schooltool | 16:29 | |
th1a | hi aelkner, replaceafill, yvl, menesis. | 16:30 |
yvl | morning :) | 16:31 |
replaceafill | good morning/afternoon | 16:31 |
aelkner | morning | 16:31 |
th1a | OK, let's start with yvl. | 16:32 |
yvl | ok | 16:32 |
yvl | I figured out a small mistake I made, now fixing | 16:33 |
yvl | simply put, I composited a manager instead of inheriting | 16:33 |
yvl | seemed easier to do, but it's not easier to use | 16:33 |
yvl | hence - no central branch yet | 16:33 |
yvl | I expect to push it tomorrow, at the end of my work day | 16:34 |
yvl | I also thought that instead of writing an email explaining how to write a page | 16:35 |
yvl | it might be more reasonable to write it as a test in the code | 16:35 |
yvl | so that would come next | 16:35 |
th1a | OK. | 16:35 |
th1a | I think I have enough to keep replaceafill and aelkner busy. | 16:35 |
yvl | oh, and I want to do at least one basic person view | 16:35 |
yvl | probably tomorrow, we'll see if I can fit that in | 16:36 |
th1a | I'm not sure what you mean. | 16:36 |
yvl | when we have person container view + person index view | 16:36 |
yvl | replaceafill and aelkner can start experimenting with JS in flourish branch | 16:37 |
th1a | OK. | 16:37 |
th1a | Yes. | 16:37 |
yvl | say with the change password button | 16:37 |
yvl | well, that's it for now | 16:37 |
th1a | btw, we decided the change password button was probably a bad example since it logs you out. | 16:38 |
th1a | (for modals) | 16:38 |
yvl | true | 16:38 |
th1a | OK, thanks yvl. | 16:38 |
th1a | btw, while this is only going to be a two week sprint, it is looking more like an eight week project. | 16:39 |
th1a | So we may be doing UI until feature freeze. | 16:39 |
th1a | (mostly) | 16:39 |
th1a | In case you were wondering. | 16:39 |
yvl | I was thinking the same thing | 16:40 |
th1a | OK, replaceafill & aelkner, someone want to sum up where you are? | 16:40 |
aelkner | replaceafill, why don't you go ahead | 16:40 |
replaceafill | i just want to say that i ported the edit password and preferences views to z3c.form | 16:40 |
replaceafill | it was relatively easy | 16:41 |
replaceafill | for the edit password view we need to add a field for the "current" password | 16:41 |
replaceafill | in case someone leaves his session open | 16:41 |
th1a | So aelkner knows how to do that now, correct? | 16:42 |
replaceafill | and about the preferences view, i broke the tests because when you hit apply in that form the old view didnt redirect you to the person index view | 16:42 |
replaceafill | th1a we worked on jquery dialogs with aelkner, not z3c.form porting | 16:42 |
replaceafill | i ported the views before we started | 16:42 |
th1a | OK, but he's going to have to know that too. | 16:42 |
replaceafill | i think you can handle that, right aelkner? | 16:43 |
aelkner | th1a, i groked the z3c changes, nothing difficult to understand | 16:43 |
th1a | OK, just checking. | 16:43 |
replaceafill | and aelkner got to a point where he was able to get a dialog | 16:43 |
replaceafill | now he has to do the "ajaxy" part | 16:44 |
replaceafill | and little changes like the "cancel" button of the dialog, to close the dialog instead of submitting the form | 16:44 |
th1a | Can you guys go over that today? | 16:44 |
replaceafill | we are, right aelkner? :) | 16:44 |
aelkner | that was the plan | 16:44 |
replaceafill | ype | 16:44 |
th1a | kk | 16:44 |
replaceafill | yep | 16:44 |
replaceafill | we should pick a new view | 16:45 |
replaceafill | the thing with preferences is that is just two checkboxes | 16:45 |
replaceafill | so aelkner sees the ajaxy part better | 16:45 |
replaceafill | (validation, etc) | 16:45 |
th1a | What kind of form do you need for validation? | 16:46 |
replaceafill | something like add course :) (which i already did) | 16:46 |
th1a | I'm not sure we'll even be doing much of that in modals. | 16:46 |
th1a | What needs to be validated? | 16:46 |
replaceafill | that you dont set a title for example | 16:46 |
replaceafill | or a string when you're supposed to use integers | 16:47 |
th1a | required fields | 16:47 |
th1a | ? | 16:47 |
replaceafill | yes | 16:47 |
replaceafill | i should take a look at the spreadsheet | 16:47 |
th1a | Well, I should make more pages in the spreadsheet. | 16:47 |
th1a | Probably something from the gradebook. | 16:47 |
th1a | We can take a look after the meeting. | 16:48 |
replaceafill | cool | 16:48 |
replaceafill | that's it from me | 16:48 |
aelkner | there's nothing for me to add | 16:48 |
aelkner | i'll just be working with replaceafill today | 16:48 |
th1a | OK. So once we get aelkner up to speed on jquery, I'll be able to keep him grinding away on various forms and widgets, and replaceafill will become CSS Czar. | 16:49 |
replaceafill | :| | 16:49 |
th1a | I have an old-school Zope 2 CSS question. | 16:49 |
th1a | Back in the stone ages we used DTML in CSS to do things like change "primary-button-color" throughout the sheet. | 16:50 |
th1a | Presumably there is a proper way to do that kind of thing now? | 16:50 |
th1a | (if you follow me) | 16:50 |
replaceafill | not really :( | 16:51 |
yvl | I don't think so | 16:51 |
th1a | OK... that is, we're going to want to be able to change the color scheme completely by changing a set of color definitions in a small file. | 16:51 |
replaceafill | th1a so the css file was dynamically generated | 16:51 |
th1a | Not by manually editing all the CSS. | 16:52 |
th1a | I think. | 16:52 |
yvl | though there should probably be something like this | 16:52 |
yvl | if not, it's not like it's that hard to do ;) | 16:52 |
th1a | Are there variables in CSS? | 16:52 |
replaceafill | http://pypi.python.org/pypi/z3c.zrtresource | 16:52 |
replaceafill | maybe | 16:52 |
replaceafill | th1a no that i know | 16:52 |
th1a | hm. | 16:54 |
th1a | Weird. | 16:54 |
th1a | OK, so, to give a more concrete example. | 16:54 |
th1a | In the Ubuntu guidelines, #dd4814 appears in several contexts. | 16:56 |
th1a | Basically , it is one of the oranges used. | 16:56 |
th1a | It would be nice if we could just use their palette, and then switch the oranges to equivalent reds in one file. | 16:56 |
th1a | See what I mean? | 16:57 |
replaceafill | yes | 16:57 |
th1a | But it probably isn't that big of a deal. | 16:58 |
th1a | You can just do find/replace on the file. ;-) | 16:58 |
replaceafill | can't we put those in a separate file and swap files later? | 16:58 |
yvl | hmm, Zope still has zope.app.dtmlpage | 16:58 |
th1a | In Zope 2 that's what allowed you to switch themes on the fly. | 16:58 |
th1a | I think the answer to my question is that we aren't aware of a "right way to do it" that's easier than find/replace. | 16:59 |
aelkner | the css files are hard-coded now | 17:00 |
yvl | something like http://sass-lang.com/ maybe | 17:00 |
aelkner | in theory they could be page templates | 17:00 |
aelkner | and then the contents of some file could be used to get the view class attributes to fill in the template | 17:01 |
th1a | One implication of this is that -- since we're running a little ahead of actually having our new color palette -- is that we should just make flourish Ubuntu orange until we get our new colors. | 17:01 |
th1a | Because I'm going to be telling the designers to be work from the guidelines. | 17:02 |
th1a | Except for the orange. | 17:02 |
yvl | right :) | 17:03 |
yvl | btw, http://pypi.python.org/pypi/fanstatic/0.11.2 is kind of expected to do some SASS support | 17:03 |
th1a | OK, follow that replaceafill? | 17:04 |
yvl | Martijn Faassen is one of developers... might ring a bell ;) | 17:04 |
replaceafill | th1a yes | 17:04 |
th1a | I'll also be getting colors for gradebook highlights, calendar events, etc. | 17:05 |
yvl | it looks very early in the development, but menesis put it on my radar :) | 17:05 |
replaceafill | yvl what are your thoughts on us using css3? | 17:05 |
replaceafill | i mean, browser support wise :) | 17:05 |
yvl | well, we all know what google did ;) | 17:06 |
th1a | What are your thoughts, replaceafill? | 17:06 |
yvl | my take would be use CSS2 for now | 17:06 |
th1a | I don't mind leaning forward if there is a reason to. | 17:06 |
yvl | + any number of fancy things, if the page also looks ok without them | 17:06 |
replaceafill | i just want to know how important are old browser for us | 17:07 |
yvl | (and I was referring to http://www.vertical-leap.co.uk/news/google-drops-older-browser-support/) | 17:07 |
replaceafill | so we're not using fancy features | 17:07 |
th1a | I'd say not very. | 17:07 |
replaceafill | yvl wow! | 17:08 |
replaceafill | ff 3.5, ie 7, safari 33 | 17:08 |
th1a | I think the future looks bright for browser improvement. | 17:08 |
th1a | And people wanting to stay up to date. | 17:09 |
replaceafill | ok, we're sticking with css2 then | 17:09 |
yvl | + rounded corners if we need ;) | 17:09 |
yvl | and other polish like that | 17:09 |
th1a | Uh... yeah, it just depends on what we need from CSS 3. | 17:09 |
th1a | I'm not against it if it will help. | 17:10 |
replaceafill | proprietary properties, like "moz-*", etc | 17:10 |
replaceafill | ? | 17:10 |
th1a | If it improves real usability, I'd say go for it. | 17:10 |
yvl | replaceafill, I'm not against them | 17:10 |
th1a | (the CSS3) | 17:10 |
replaceafill | yvl cool | 17:10 |
th1a | replaceafill, I don't have a strong feeling about proprietary properties. | 17:10 |
yvl | since, again - it's just polish | 17:10 |
yvl | if more browsers are supported almost painlessly - then why not? | 17:11 |
replaceafill | cool and i see you already used some for flourish :) | 17:11 |
yvl | just trying them out ;) | 17:11 |
th1a | OK, back to colors. | 17:12 |
th1a | It is important that we rein in oddball colors. | 17:12 |
yvl | right | 17:13 |
yvl | maybe we can just name them in comments for now | 17:13 |
th1a | We don't want any crazy singleton colors. | 17:13 |
yvl | something like in the beginning of base css | 17:13 |
th1a | Yeah, I mean, don't start doing colors immediately anyhow. | 17:13 |
yvl | / button-neutral #220022 | 17:13 |
yvl | and then copy those names as comments where we use them | 17:14 |
th1a | Yes, we need to do a little planning and extract some of the data from the web guidelines. | 17:14 |
th1a | I probably need to do that today for the meeting tomorrow with the designers. | 17:14 |
yvl | I'd guess we'll eventually need a broader palette than the basic Ubuntu colours + their shades | 17:15 |
th1a | Yes. | 17:16 |
th1a | Calendar events, a few more warning or approval colors. | 17:16 |
yvl | we think alike ;) | 17:16 |
yvl | hopefully I did not offend you with that last comment ;) | 17:17 |
th1a | No. | 17:17 |
aelkner | yvl, it's you who should be scared :) | 17:17 |
th1a | What are people's thoughts about the overall organization of CSS? | 17:17 |
th1a | How should replaceafill approach it globally? | 17:17 |
th1a | More small files, one big one, etc? | 17:18 |
yvl | CSS should be where it's used in my opinion | 17:18 |
th1a | OK how it is, kinda? | 17:18 |
yvl | so - somewhat small files | 17:18 |
yvl | flourish gives the page "frame", forms and some stuff | 17:19 |
yvl | so it needs to have CSS for that | 17:19 |
yvl | other CSS should be in other places | 17:19 |
yvl | if some page needs some custom css, add a resource there | 17:19 |
yvl | if we find stuff that is shared, we'll make it shared | 17:20 |
yvl | but keep it close to actual page templates, IMHO | 17:20 |
replaceafill | i agree | 17:20 |
th1a | Going forward, we should use as little custom as possible. | 17:20 |
*** asharma has joined #schooltool | 17:21 | |
yvl | yes | 17:21 |
replaceafill | and to me, an important outcome of this task is having docs for the css | 17:21 |
aelkner | amen to docs! | 17:21 |
replaceafill | not very detailed, but the broad picture of it | 17:21 |
th1a | OR at least well commented CSS. | 17:21 |
replaceafill | correct | 17:22 |
yvl | by the way, I noticed in the logs that you thought of "running something" through "yvl" | 17:23 |
yvl | might I ask what that was? | 17:23 |
replaceafill | ah! | 17:23 |
yvl | or rather, is it still relevant? | 17:23 |
replaceafill | yvl i think it's how to assign javascript behaviour to an action button | 17:24 |
th1a | That's kind of an obselete question. | 17:25 |
th1a | Maybe not entirely. | 17:25 |
yvl | replaceafill probably meant which is a better way... | 17:25 |
* yvl shrugs | 17:25 | |
yvl | frankly, at this point the simpler the better | 17:25 |
*** jelkner has joined #schooltool | 17:26 | |
aelkner | also, we are going to need to generalize the js that we have for the dialogs | 17:26 |
yvl | we will | 17:26 |
aelkner | like using viewlet managers | 17:26 |
yvl | but I'd like to see 3-4 different views with JS first | 17:26 |
aelkner | ok, that's a good idea | 17:26 |
replaceafill | :/ | 17:26 |
th1a | I guess preferences is likely to end up in the sidebar. | 17:26 |
aelkner | you can follow our branch, and we can go ahead and do the js in each view | 17:27 |
th1a | So it is pretty much the same mechanics as an action button. | 17:27 |
* yvl starts to worry that we might end up just dumping everything there | 17:27 | |
yvl | agreed aelkner | 17:27 |
th1a | Well...dumping less important things there isn't a bad idea. | 17:27 |
yvl | true, th1a | 17:28 |
aelkner | yvl, what do you mean exactly | 17:28 |
aelkner | could you list what we're dumping here | 17:28 |
aelkner | it may not be such a bad idea if we get it out there | 17:28 |
th1a | We don't want to just move the giant row of unorganized links into a giant column of unorganized links. | 17:28 |
yvl | yes :) | 17:29 |
yvl | thank you th1a :) | 17:29 |
aelkner | well, sure | 17:29 |
aelkner | anyway, i was talking viewlets for js, so... | 17:29 |
yvl | in any case, if you find some JS that could be moved to a static .js resource - that would be nice | 17:29 |
aelkner | we have an extrahead section in the macro where we put the scripts | 17:30 |
aelkner | all we need is a viewlet manager there and viewlets for the classes to use | 17:30 |
yvl | ok | 17:30 |
aelkner | or register, better put | 17:31 |
aelkner | parameters for form ids | 17:31 |
yvl | a reminder - static resources will be registered via zc.resourcelibrary | 17:31 |
aelkner | even lambdas for creating inline url | 17:31 |
yvl | at this moment I don't plan on having any dynamically rendered scripts in head (!) | 17:31 |
yvl | html head that is | 17:32 |
aelkner | but i'm ok with creating 3-4 views first with redundant jx | 17:32 |
aelkner | so that we can establish a pattern | 17:32 |
aelkner | before bothering to design the managers and viewlets | 17:32 |
aelkner | besides, you have flourish zcml namespace to deliver us in the short term | 17:33 |
aelkner | we would probably want to take advantage of that while we're at it | 17:33 |
yvl | true | 17:33 |
aelkner | it would be best to get someting from you quickly | 17:33 |
aelkner | you know, we can change zcml directives, too | 17:33 |
aelkner | once we have the patter established by you first push | 17:34 |
aelkner | we can follow that to create zcml for viewlets even, if we feel we need to | 17:34 |
yvl | I just need to move some stuff around | 17:34 |
yvl | I'm pretty sure you wouldn't like that to happen once you start working with it ;) | 17:34 |
th1a | OK. I'd like to hit one more topic before dropping. | 17:34 |
aelkner | yvl, sure | 17:35 |
replaceafill | yvl are you setting ids on action buttons on flourish? | 17:35 |
aelkner | replaceafill, ids would go great in zcml, wouldn't they? | 17:35 |
yvl | no, replaceafill - but a good point | 17:35 |
replaceafill | sorry for being annoying but my question is not obsolete yet :) | 17:36 |
replaceafill | we have no "easy" way of bindng js to a button :( | 17:36 |
replaceafill | if flourish provides ids for buttons, then i'll shut up :P | 17:36 |
yvl | are "name"s ok? | 17:37 |
yvl | for <a> ? | 17:37 |
replaceafill | sure, only something to tell them apart from each other | 17:37 |
yvl | ok | 17:38 |
yvl | I'll put that in | 17:38 |
replaceafill | thank you! | 17:38 |
th1a | Cool. | 17:38 |
* replaceafill proceeds to shut the **** up ;) | 17:38 | |
th1a | Thanks for finishing the conversation replaceafill. | 17:38 |
yvl | thank you for bringing this up, replaceafill ! | 17:38 |
th1a | Last thing I want to bring up is the change to index lists to have delete buttons in each row. | 17:39 |
replaceafill | i mean, on this topic ;) | 17:39 |
th1a | Does anyone object to that? | 17:39 |
th1a | And then perhaps js confirmations? | 17:39 |
aelkner | with a modal confirmation? | 17:39 |
th1a | Yes. | 17:39 |
yvl | hmm | 17:39 |
yvl | I object in some places | 17:40 |
aelkner | launchpad uses ajax for changing bug attributes | 17:40 |
aelkner | but i don't recall a confirm step in modal form | 17:40 |
yvl | less volatile things - like status, membership and such - +3 for such buttons | 17:40 |
th1a | http://jqueryui.com/demos/dialog/#modal-confirmation | 17:40 |
yvl | not for delete section, delete person and so on | 17:40 |
th1a | Well... right now you just do the checkbox thing. | 17:41 |
yvl | if it's pure js confirmation it's not there :/ | 17:41 |
th1a | Which is less clear. | 17:41 |
yvl | well | 17:41 |
th1a | Persons, etc. should have a "Hide" button of course anyhow. | 17:41 |
replaceafill | i only object that with buttons you lose multiple selection | 17:42 |
yvl | there is a small app called Gmail | 17:42 |
yvl | I mean - checkbox-for-deletion concept is not that alien | 17:42 |
aelkner | th1a, when you say hide with persons, you need to consider that the username has to be given up | 17:43 |
yvl | and 20 delete buttons in a row is just an accident waiting to happen | 17:43 |
th1a | Hm. | 17:43 |
aelkner | it's not like hiding a worksheet where the id is not interesting to the user | 17:43 |
yvl | and you all know, that modal confirmations is an illusion | 17:43 |
yvl | they've been exploited for so long | 17:43 |
yvl | that if the user sees something like modal | 17:43 |
yvl | the instinct is to go for OK, whatever | 17:43 |
th1a | I think what is confusing is the 99% of the time when you just see a list of people, whatever, and a Delete button sitting underneath. | 17:43 |
yvl | to that I agree :) | 17:44 |
aelkner | 'buttons need to be near the objects' we were told | 17:44 |
th1a | OK, what about if you have to explicitly turn the delete buttons on. | 17:44 |
yvl | Delete selected would fix that ;) | 17:44 |
th1a | Essentially switch modes . | 17:45 |
th1a | Or, explicitly go to the delete view. | 17:45 |
th1a | With checkboxes. | 17:45 |
th1a | Anyhow, we can table this for now. | 17:46 |
yvl | delete view with checkboxes is better | 17:46 |
yvl | basically - delete buttons in rows are ok for things you do often | 17:46 |
yvl | and don't care that much if you make a mistake | 17:46 |
th1a | Yes. | 17:46 |
th1a | OK, let's continue this conversation later. | 17:46 |
aelkner | right, deleting a person should be more steps | 17:47 |
yvl | (I like the concept, FYI) | 17:47 |
th1a | Well, like yvl says, confirmation steps are only minimally effective. | 17:47 |
th1a | All right, that should do for now. | 17:48 |
th1a | Do you guys want to meet without me tomorrow? | 17:48 |
th1a | I'll be at the design company's office. | 17:48 |
yvl | I think we can manage that | 17:48 |
aelkner | np for me | 17:48 |
yvl | in any case - I'll be around | 17:48 |
yvl | if you guys have no questions then just sleep ;) | 17:49 |
th1a | OK. aelkner, at some point we need to discuss hiding. | 17:49 |
th1a | Perhaps this afternoon. | 17:49 |
yvl | worksheet hiding? | 17:49 |
yvl | just curious | 17:49 |
th1a | reportsheet hiding. | 17:49 |
aelkner | ok | 17:49 |
yvl | oh, right | 17:49 |
th1a | Just the UI. | 17:49 |
* th1a drops the bag of gravel. | 17:50 | |
aelkner | name a time | 17:50 |
th1a | Thanks guys! | 17:50 |
yvl | thank you all :) | 17:50 |
th1a | 2:00? | 17:50 |
aelkner | right | 17:50 |
*** yvl has quit IRC | 17:52 | |
replaceafill | can anyone remind me if we're changing "relationship" views? | 17:55 |
th1a | In what sense? | 17:57 |
replaceafill | UI | 17:58 |
replaceafill | th1a i'm thinking about the @@groups.html view for person | 17:58 |
replaceafill | and how to make it modal | 17:58 |
th1a | Ah. | 17:58 |
th1a | Well, it isn't on the short list. | 17:59 |
th1a | It seems to me to be a good choice for modal dialogs because the whole question of when you're saving, where you're going is a little squishy there. | 17:59 |
th1a | I think we should see how it feels if it isn't too har. | 18:01 |
th1a | d | 18:02 |
replaceafill | the porting part is what i'm analyzing right now | 18:02 |
th1a | There is also a good case they should just be completely redone. | 18:02 |
th1a | But I think there are a lot of bigger problems with higher priority. | 18:03 |
replaceafill | right | 18:03 |
replaceafill | maybe we should find a simpler example for aelkner to try ajaxy behaviour | 18:03 |
th1a | Is it that much harder than validation? | 18:04 |
replaceafill | no, validation is done by the view class, we only need to insert the validation messages back | 18:05 |
replaceafill | it's not that difficult | 18:05 |
replaceafill | the Groups button on person is also a good example for message dialogs, like "you don't have any groups yet" | 18:06 |
th1a | I don't think you want a dialog for that. | 18:07 |
th1a | Anyhow... | 18:08 |
replaceafill | by dialog i mean, message + OK button | 18:08 |
th1a | how hard would be relationships view? | 18:08 |
th1a | If it works well it will be used a lot. | 18:08 |
replaceafill | i can try rewriting groups if you want | 18:08 |
replaceafill | so we know :) | 18:09 |
replaceafill | i mean, the groups view for person | 18:09 |
th1a | I think we're going to need to try it anyhow. | 18:10 |
aelkner | replaceafill, when do you want to talk about the ajaz stuff? | 18:10 |
aelkner | ajax | 18:10 |
replaceafill | aelkner when we find a good example for it... | 18:10 |
th1a | Let me give you an example. | 18:10 |
replaceafill | we could talk accordions | 18:10 |
th1a | Of what I'm thinking. | 18:10 |
th1a | Exactly... | 18:11 |
th1a | So let's say you've got the "Advisors" accordion slot. | 18:11 |
th1a | You expand it and you see if you have any, and there is an "edit" link (if you have permission) | 18:11 |
th1a | and if you click that you just get a relationship modal dialog. | 18:12 |
th1a | And then back to where you were. | 18:12 |
replaceafill | same behaviour as with groups, correct th1a? | 18:12 |
th1a | Essentially, yes. | 18:12 |
th1a | I think that's a better feel. | 18:12 |
th1a | (than what we've got now) | 18:13 |
replaceafill | correct me if i'm wrong but we have no space for advisors in the person view, right? | 18:13 |
replaceafill | i mean, in the current view | 18:13 |
replaceafill | only sections and groups | 18:13 |
th1a | Right. | 18:13 |
replaceafill | well, aelkner we can do accordions | 18:14 |
replaceafill | add the advisors space too | 18:14 |
aelkner | ok, sounds like a plan | 18:15 |
replaceafill | and in the afternoon, i'll try relationship views | 18:15 |
replaceafill | while you discuss hiding | 18:15 |
th1a | Good. | 18:15 |
aelkner | ok | 18:15 |
replaceafill | ok | 18:15 |
aelkner | replaceafill, i could use a break to get something to eat | 18:16 |
replaceafill | aelkner http://jqueryui.com/demos/accordion/ | 18:16 |
replaceafill | ah sure | 18:16 |
replaceafill | how long do you need? | 18:16 |
aelkner | let's say back in 15 mins | 18:16 |
replaceafill | cool, i'll get some coffee | 18:16 |
aelkner | replaceafill, i read the accordion docs and have some questions | 19:00 |
replaceafill | yes? | 19:00 |
aelkner | well, do you understand wat they intend when they say change: function(event, ui){... | 19:01 |
aelkner | while you are binding to the event? | 19:01 |
replaceafill | url? | 19:02 |
aelkner | then one you gave me, ust hit the events tab and expand one of the divs | 19:02 |
aelkner | i mean, $( ".selector" ).accordion({ | 19:03 |
aelkner | that looks like dialog looked | 19:03 |
replaceafill | event, is the event object | 19:03 |
aelkner | like the definition of the accordian | 19:03 |
replaceafill | ui, is a function callback | 19:03 |
aelkner | what events could event have? what is the event acting upon? | 19:04 |
aelkner | i mean, if the accoridion is handling collapsing and expanding, what event are we handling? | 19:04 |
replaceafill | none | 19:04 |
replaceafill | you dont need to mess with events | 19:04 |
aelkner | so why the syntax in the docs | 19:05 |
replaceafill | just create the accordion | 19:05 |
replaceafill | because you're looking at EVENTS | 19:05 |
replaceafill | but for your task you dont need events | 19:05 |
replaceafill | just to create the accordion | 19:05 |
aelkner | you just need the div with the id, right? | 19:05 |
replaceafill | yes | 19:06 |
aelkner | and the h3 next to the content for each sub-section | 19:06 |
replaceafill | not an id necessarily | 19:06 |
replaceafill | yep | 19:06 |
replaceafill | in the person index layout | 19:06 |
replaceafill | you should use h3 | 19:06 |
replaceafill | and group everything below in a single div | 19:06 |
replaceafill | look at the groups block for example | 19:06 |
replaceafill | it has: h3, div, div | 19:07 |
replaceafill | sorry | 19:07 |
replaceafill | h5, div, div | 19:07 |
aelkner | which view? | 19:07 |
replaceafill | person index | 19:07 |
aelkner | IPersonContainer index.html? | 19:07 |
replaceafill | schooltool.basicperson.browser.person.PersonView | 19:08 |
aelkner | person_view.pt, right? | 19:08 |
aelkner | i don't see and groups | 19:08 |
aelkner | oh, the h5, i see that | 19:08 |
replaceafill | no | 19:09 |
replaceafill | you should start your instance | 19:09 |
aelkner | where is the groups block? | 19:09 |
replaceafill | magic ;) | 19:09 |
replaceafill | <tal:block tal:replace="structure provider:schooltool.person.Info"/> | 19:10 |
replaceafill | it's a viewlet manager | 19:10 |
aelkner | got it | 19:10 |
replaceafill | so, look for all the viewlets registered for it | 19:10 |
aelkner | the viewlet supplies the the title, the thing we need the user to click on to accordion the div | 19:10 |
replaceafill | yes | 19:12 |
aelkner | so it's the renderer of the manager that needs to change | 19:13 |
replaceafill | no | 19:13 |
replaceafill | the jquery accordion will look for a div, right? with an id #accordion in the example | 19:14 |
replaceafill | but it can be any selector | 19:14 |
replaceafill | inside that div it will look for <h3>s followed by <div>s | 19:14 |
replaceafill | <h3></h3><div></div>, <h3></h3><div></div>, ... | 19:15 |
replaceafill | all those will be accordions | 19:15 |
replaceafill | our viewlets for person info use h5 for titles | 19:15 |
aelkner | right | 19:15 |
replaceafill | and one of the produce <h5></h5><div></div><div></div> | 19:15 |
replaceafill | note the two divs | 19:15 |
aelkner | actually, it's the manager that renders that | 19:15 |
replaceafill | no! the viewlets! | 19:16 |
aelkner | schooltool.person.Info is registered as a viewletManager in the zcml | 19:16 |
replaceafill | the viewlets have their own templates | 19:16 |
replaceafill | yes, but it's the viewlet tempaltes the ones you have to modify | 19:16 |
replaceafill | dont touch the manager | 19:16 |
replaceafill | it's the viewlet templates | 19:16 |
replaceafill | let me look for the files | 19:16 |
replaceafill | schooltool/group/browser/groupviewlet.pt | 19:17 |
replaceafill | schooltool/course/browser/templates/coursesviewlet.pt | 19:17 |
replaceafill | those aelkner | 19:17 |
replaceafill | those are the one you need to make uniform | 19:17 |
replaceafill | but dont change the h5 to h3 | 19:18 |
replaceafill | better, tell the accordion to look for h5s | 19:18 |
replaceafill | $( ".selector" ).accordion({ header: 'h3' }); | 19:18 |
replaceafill | you an say $(selector).accordion({header: 'h5'}); | 19:18 |
replaceafill | can say | 19:18 |
aelkner | got it | 19:22 |
replaceafill | great | 19:23 |
aelkner | do you think it's ok to have h5, div, div, h5, div, div | 19:24 |
aelkner | instead of h5, div, h5, div? | 19:25 |
replaceafill | no, jquery will take only the next to h5 i think | 19:25 |
replaceafill | so, better change the groupviewlet.pt to h5, div | 19:25 |
replaceafill | grouping the last two divs | 19:25 |
aelkner | ok | 19:26 |
aelkner | what do thinj the deal is with the empty Details div? | 19:26 |
replaceafill | not sure :) | 19:26 |
replaceafill | someone needed the Details title :) | 19:27 |
aelkner | it's old, i don't know wy i asked | 19:27 |
aelkner | anyway | 19:27 |
replaceafill | what selector are you going to use for the accordion? | 19:27 |
aelkner | is it ok that the h5, div is housed in the div at the top | 19:27 |
replaceafill | are you going to insert an id? | 19:27 |
replaceafill | what do you mean? | 19:28 |
aelkner | groupsviewlet.pt starts with a div, then contained therin is h5, div, div | 19:28 |
aelkner | i'm clear about combining the two divs after h5 | 19:29 |
aelkner | but what about the fact that they are all contained in the div at the top | 19:29 |
aelkner | we don't need that div anymore, right? | 19:29 |
replaceafill | you do | 19:30 |
aelkner | the pt could just start with the h5 | 19:30 |
replaceafill | it's for the jstree functionality | 19:30 |
replaceafill | see the clearfix class | 19:30 |
aelkner | yeah | 19:30 |
replaceafill | that makes that div to span vertically as much as necessary according to its children | 19:30 |
replaceafill | if you remove it everything goes up in the vertical space | 19:31 |
replaceafill | try it in firebug | 19:31 |
replaceafill | render the page with groups and sections | 19:31 |
replaceafill | and remove that class | 19:31 |
replaceafill | it's easy to remove classes in firebug | 19:31 |
aelkner | i could move it, not remove it | 19:31 |
replaceafill | you will see everything messes up | 19:31 |
aelkner | if the pt starts with h5 | 19:31 |
replaceafill | well, you can make the changes you need as long as you keep the visual layout :) | 19:32 |
aelkner | then div class="clearfix..." | 19:32 |
aelkner | then the divs under that, one of which is class tree_list | 19:32 |
aelkner | so the template is ust h5, div | 19:32 |
aelkner | man my j just won't type easily | 19:32 |
replaceafill | :D | 19:32 |
replaceafill | aelkner try this: | 19:33 |
replaceafill | just group the two bottom divs under h5 in groupsviewlet.pt | 19:33 |
replaceafill | and build the accordion with {header: 'div.h5'} | 19:33 |
replaceafill | sorry | 19:34 |
replaceafill | {header: 'div h5'} | 19:34 |
aelkner | that wold work you think? | 19:34 |
replaceafill | probably you dont even need the div | 19:34 |
aelkner | you mean don't need to group the two div, right? | 19:34 |
replaceafill | i think, group two bottom divs, use h5 for accordion | 19:34 |
replaceafill | yes, you have to | 19:34 |
replaceafill | ok, let's start over | 19:35 |
aelkner | 'probably you dont even need the div' what does that mean? | 19:35 |
replaceafill | just build the accordion :D | 19:35 |
aelkner | that's no way to start over :) | 19:35 |
aelkner | ok, i'll play around with it | 19:36 |
replaceafill | no, i mean, just insert the JS | 19:36 |
replaceafill | rigth | 19:36 |
aelkner | it works! | 19:39 |
replaceafill | yay! | 19:39 |
replaceafill | can you push? | 19:40 |
aelkner | one line of js, and i put an empty div in the details block so it wouldn't get confused | 19:40 |
aelkner | i haven't tried it without, on sec | 19:40 |
aelkner | it works without the empty div | 19:41 |
aelkner | we should be getting rid of Details i think | 19:41 |
replaceafill | we should ask th1a | 19:42 |
aelkner | any section that wants to go there in the future should just do so via viewlet | 19:42 |
replaceafill | and that could change in flourish | 19:42 |
replaceafill | i think it will change | 19:42 |
replaceafill | if i remember yvl's explanation correctly | 19:42 |
aelkner | pushed | 19:43 |
replaceafill | all you have to remember about accordions is that you need an element for the header (click target) and its next sibling is the content | 19:43 |
aelkner | i added some white space before the XXX section as well as the new section for accordion | 19:43 |
aelkner | the more the js grows, the more the need for a little white space | 19:44 |
aelkner | just a little, not to much | 19:44 |
replaceafill | pulling | 19:45 |
aelkner | funny how you can see the form above move left and right as you open and close the groups div | 19:45 |
replaceafill | aelkner i see edit groups outside the groups accordion | 19:46 |
aelkner | not me | 19:46 |
aelkner | i'll email you a screenshot | 19:46 |
replaceafill | do you have groups created? | 19:47 |
replaceafill | and are you login as admin? | 19:47 |
replaceafill | logged | 19:47 |
aelkner | email sent | 19:48 |
replaceafill | aelkner you dont have groups created | 19:50 |
replaceafill | no schoolyear | 19:50 |
replaceafill | hhmm | 19:50 |
replaceafill | let me show you how i see it | 19:50 |
aelkner | on the phone | 19:50 |
replaceafill | aelkner screenshot sent | 19:53 |
aelkner | replaceafill, i recreated it now | 19:56 |
aelkner | i see what happens | 19:56 |
aelkner | when the tree is not rendered, then all is ok | 19:56 |
aelkner | but when it is, t shoves the edit link out of the accordion | 19:56 |
aelkner | i'll fix that | 19:56 |
replaceafill | it because you havent group the two divs in groupsviewlet.pt ;) | 19:56 |
replaceafill | cool | 19:56 |
replaceafill | you get the idea for accordions, right? | 19:57 |
replaceafill | are you going to add the advisors accordion? | 19:57 |
aelkner | pushed | 19:57 |
aelkner | how do you mean 'add the advisors accordion'? | 20:00 |
replaceafill | th1a mentioned earlier today there should be an accordion for advisors | 20:00 |
aelkner | ah, a viewlet for the peson.Info manager, right? | 20:01 |
replaceafill | also, you should fix the style for the icon of the accordion | 20:01 |
replaceafill | accordions have a little arrow | 20:02 |
aelkner | got it | 20:04 |
replaceafill | menesis, fresh check out: make instance gives error | 20:08 |
replaceafill | bin/make-schooltool-instance instance instance_type=schooltool | 20:08 |
replaceafill | make: bin/make-schooltool-instance: No se encontró el programa | 20:08 |
replaceafill | make: *** [instance] Error 127 | 20:08 |
menesis | replaceafill: I know. make run | 20:08 |
replaceafill | i dont want to run :P | 20:09 |
replaceafill | (kidding) | 20:09 |
menesis | I added instance: build, but now make run runs make instance every time. | 20:09 |
menesis | strange | 20:09 |
replaceafill | ah | 20:09 |
menesis | but that's a little problem | 20:10 |
aelkner | replaceafill, see http://jqueryui.com/themeroller/ in the Framework icons section | 20:15 |
aelkner | which wold you want for open div? | 20:15 |
aelkner | also, do we want something for closed divs, or o icon at all? | 20:15 |
replaceafill | aelkner for me the default ones are ok | 20:15 |
replaceafill | you just have to move the text to the right a little | 20:16 |
aelkner | i noticed that already | 20:16 |
aelkner | i used style="padding-left: 2em" | 20:16 |
replaceafill | NOOOOO | 20:17 |
replaceafill | no more styles!!! | 20:17 |
replaceafill | :D | 20:17 |
aelkner | i know | 20:17 |
replaceafill | at least put it on the extrahead ;) | 20:17 |
aelkner | i just don't want to introduce a new css class, what do you suggest? | 20:17 |
aelkner | put it on the extrahead? | 20:17 |
aelkner | what does that mean? | 20:18 |
replaceafill | why do you need an extra class | 20:18 |
replaceafill | see http://jqueryui.com/demos/accordion/#theming | 20:18 |
th1a | replaceafill is CSS Czar. | 20:18 |
replaceafill | there's the answer | 20:18 |
replaceafill | :D | 20:18 |
th1a | He can send you on a one-way trip to Siberia. | 20:18 |
replaceafill | aelkner when the accordion is built all those styles are applied | 20:18 |
replaceafill | aelkner you just have to set them right | 20:18 |
replaceafill | th1a :)) | 20:19 |
replaceafill | aelkner <h3 class="ui-accordion-header ui-helper-reset ui-state-active ui-corner-top"> | 20:20 |
replaceafill | in your case that's an h5 | 20:20 |
replaceafill | but the classes are the same | 20:20 |
replaceafill | and note that ui-accordion-header is bold ;) | 20:20 |
replaceafill | that's the one you need | 20:20 |
replaceafill | th1a i'm setting up a testing instance so you can see aelkners accordions | 20:21 |
th1a | OK. | 20:21 |
aelkner | replaceafill, according to the doc, that h3 is generated | 20:21 |
th1a | Basically, styles outside of CCS files are going to become verboten. | 20:21 |
aelkner | how do i instruct the accordion to insert those classes? | 20:22 |
*** menesis has quit IRC | 20:22 | |
replaceafill | aelkner jquery does that | 20:22 |
replaceafill | you just have to declare the css style for that class | 20:22 |
aelkner | how would one do that? | 20:23 |
replaceafill | ok, in the extrahead slot | 20:23 |
aelkner | 'declare a style for a class' is not even a valid concept to me | 20:23 |
replaceafill | insert <style type="text/css"></style> | 20:24 |
replaceafill | sorry aelkner english is my second language | 20:24 |
replaceafill | and sometimes my third :D | 20:24 |
aelkner | it's not the language, it's called being specific | 20:24 |
replaceafill | insert ^ that in the extrahead slot! | 20:24 |
aelkner | you were saying with the <style> thing | 20:24 |
aelkner | oh, create my own css in extrahead? | 20:24 |
replaceafill | as yvl says, code talks better :) | 20:25 |
replaceafill | yes aelkner | 20:25 |
replaceafill | create your own css in extrahead | 20:25 |
aelkner | i thought that jquery-ui already supplies the classes | 20:25 |
replaceafill | it does! | 20:25 |
replaceafill | classes != styles | 20:25 |
replaceafill | you have to provide styles for THOSE classes jquery created for you | 20:25 |
replaceafill | and jquery provides some basics | 20:25 |
replaceafill | but you can override styles | 20:25 |
aelkner | ok, i get it now | 20:26 |
replaceafill | yay!!! | 20:26 |
aelkner | they markup the elements wth classes | 20:26 |
aelkner | we need to define the styles for those classes | 20:26 |
replaceafill | correct | 20:26 |
replaceafill | and that applies to all jquery ui plugins :) | 20:26 |
replaceafill | their classes are the plug points for you visual changes | 20:27 |
*** alga has quit IRC | 20:30 | |
aelkner | replaceafill, just pushed, it doesn't pad in the browser for some reason | 20:38 |
aelkner | in firebug, when clicking on the h5, the css says pading-left: 2en, but the browser doesn't render the padding | 20:39 |
replaceafill | en? | 20:39 |
replaceafill | or em? | 20:39 |
replaceafill | pulling | 20:39 |
aelkner | em | 20:39 |
replaceafill | aelkner this rule: ".info-block h5" is overriding your style | 20:43 |
replaceafill | so you need to be more "specific" in your rule | 20:43 |
replaceafill | just do: | 20:44 |
replaceafill | h5.ui-accordion-header | 20:44 |
replaceafill | and it will work | 20:44 |
aelkner | ok, will do | 20:44 |
replaceafill | and add type="text/css" to <style> | 20:44 |
aelkner | do you know wy we can't just put <script> in the extrahead | 20:46 |
aelkner | instead of that annoying metal:block? | 20:46 |
aelkner | btw, the style change worked | 20:46 |
replaceafill | not the technical part, i just heard it's considered special :) | 20:46 |
replaceafill | can you push, so th1a can see it? | 20:47 |
aelkner | pushed | 20:48 |
th1a | What am I looking at? | 20:49 |
replaceafill | th1a empty instance at http://69.164.203.135:54111 with aelkner's accordions | 20:49 |
replaceafill | you have to add persons, groups, etc | 20:49 |
replaceafill | you can also see the preferences change he did | 20:49 |
replaceafill | clicking on... the Reports button :D | 20:49 |
aelkner | th1a, details has been empty for some time now, so we were wondering if we should just get rid of it | 20:50 |
th1a | Hm? | 20:50 |
aelkner | go to the view for a person | 20:50 |
th1a | like, manager? | 20:50 |
aelkner | anyperson | 20:50 |
aelkner | there's a section titled, Details | 20:50 |
aelkner | it has had nothing in it for some time now | 20:51 |
aelkner | a silly bit of yagni there | 20:51 |
th1a | Presumably it did something once. | 20:51 |
th1a | Anyhow, if nothing goes there, get rid of it. | 20:51 |
aelkner | will do | 20:51 |
aelkner | did you want to add advisors to the accordion? | 20:52 |
aelkner | a tree like groups is? | 20:52 |
th1a | Well, we probably don't really want a tree. | 20:52 |
aelkner | so instead? | 20:53 |
th1a | A list? | 20:53 |
aelkner | just ul, li? | 20:53 |
aelkner | i could do that | 20:53 |
th1a | Well, what do the Ubuntu web guidelines suggest? | 20:53 |
th1a | That's your bible. | 20:53 |
aelkner | i'll look | 20:53 |
th1a | I would make a simple table. | 20:54 |
aelkner | it only mentions using dots for lists | 20:55 |
th1a | I would make a simple table. | 20:55 |
*** alga has joined #schooltool | 20:55 | |
th1a | First Name, Last Name, Phone. | 20:56 |
th1a | Link to full contact entry. | 20:57 |
th1a | Oh, | 20:57 |
th1a | Wait | 20:57 |
th1a | This is advisors, not contacts. | 20:57 |
th1a | SOrry. | 20:57 |
th1a | For advisors, just a list. | 20:58 |
aelkner | and a link for editing them? | 20:58 |
aelkner | like edit groups? | 20:59 |
th1a | Yes... that should be a modal. | 20:59 |
th1a | Did you try one of those yet for relationships? | 20:59 |
aelkner | replaceafill is doing that today | 20:59 |
replaceafill | th1a not yet | 20:59 |
th1a | OK. | 20:59 |
aelkner | i'll do the accordion part and we'll meet in the middle :) | 20:59 |
th1a | Now... while we're at it, can you make the edit link only show up if you've got the permissions to edit it, please? | 21:00 |
aelkner | replaceafill, i need to run some errands this afternoon | 21:00 |
aelkner | would you be available starting at 8pm? | 21:00 |
aelkner | np if you can't | 21:00 |
th1a | aelkner, I think we should put off the hiding sheets discussion. | 21:00 |
replaceafill | th1a you mean the "edit groups" link? | 21:00 |
aelkner | th1a, i'm ok with that | 21:01 |
aelkner | we have momentum here with the ui stuff | 21:01 |
th1a | In particular I was thinking of edit advisors. | 21:01 |
aelkner | replaceafill can you focus you relationship wor on the advisors one rather than the groups one? | 21:01 |
replaceafill | ah ok | 21:02 |
th1a | While we are at it we should probably put advisors and advisees in one accordion. | 21:02 |
aelkner | why not one accordion fr each? | 21:02 |
th1a | Less irrelevant garbage. | 21:02 |
th1a | Because no kid is practically going to be an advisor and no teacher is practically going to be an advisee. | 21:02 |
th1a | But, well, it is possible. | 21:02 |
th1a | And it is easy enough to just put them in one accordion and if you aren't an advisor and you don't have permission to make yourself one, you just won't see any irrelevant stuff. | 21:03 |
aelkner | if the accordion has header 'Advisors/Advisees' | 21:03 |
replaceafill | th1a what about sections and sections taught | 21:03 |
replaceafill | right now they're two accordions | 21:04 |
aelkner | good point | 21:04 |
th1a | I suppose we could do the same thing there. | 21:04 |
aelkner | it's the same teacher and student at same time idea | 21:04 |
aelkner | so one accordion for advisors/advisees | 21:04 |
aelkner | on for sections | 21:04 |
aelkner | one | 21:04 |
replaceafill | aelkner regarding 8pm your time, i'll try to be online | 21:05 |
aelkner | and within the accordion, the sub-sections will only render if they have something | 21:05 |
th1a | Yes. | 21:05 |
th1a | If you have nothing for the sub-section, and no permission to add anything to it, it just won't be there. | 21:06 |
aelkner | for the case of sections, there is no links, but for accordions, there needs to be two | 21:06 |
aelkner | edit advisors | 21:06 |
aelkner | edit advisees | 21:06 |
aelkner | because of the theoretical possibility of having both | 21:06 |
aelkner | sorry, but for accordions -> but for advisors | 21:07 |
th1a | Yes. | 21:07 |
aelkner | the sections accordion should render even if there are no sections, right? | 21:08 |
aelkner | just the sub-sections Taught and Attend will render or not render | 21:08 |
aelkner | but the accordion itself doesn't take up any room even when empty, so... | 21:08 |
aelkner | right now the viewlet renders nothing at all until the student is enrolled into a section | 21:08 |
replaceafill | aelkner you should also "activate" one accordion | 21:09 |
replaceafill | maybe the first one | 21:09 |
aelkner | but we could cange that to at least render the accordion header no matter what | 21:09 |
aelkner | deatils goes away, so what is the first one? | 21:09 |
replaceafill | activate means displaying it | 21:09 |
aelkner | understood | 21:09 |
replaceafill | http://jqueryui.com/demos/accordion/#option-active | 21:09 |
replaceafill | $( ".selector" ).accordion({ active: 2 }); | 21:10 |
aelkner | first-child, no? | 21:12 |
aelkner | 2 is a silly argument | 21:12 |
aelkner | what are they thinking with that? | 21:12 |
replaceafill | it's just documentation :) | 21:12 |
aelkner | btw, it's pretty stupid docs as far as the examples go | 21:13 |
replaceafill | ¬¬ | 21:13 |
aelkner | we don't need to do anything to activate the first one | 21:14 |
aelkner | that's the default behavior | 21:15 |
aelkner | i added the empty div back to details to prove this | 21:15 |
aelkner | th1a, we should talk about what accordions we are looking at and what order | 21:15 |
replaceafill | yes, when you remove empty Details it will show | 21:15 |
aelkner | so far, after removing details we have: | 21:15 |
aelkner | Sections | 21:16 |
aelkner | Advisors / Advisees | 21:16 |
aelkner | what else? | 21:16 |
aelkner | Contacts? | 21:16 |
aelkner | oh, i forgot, we already have Groups | 21:16 |
aelkner | Groups, Sections, Advisors / Advisees, Contacts as the order? | 21:17 |
th1a | Demographics. | 21:17 |
aelkner | so same order with demos last? | 21:17 |
th1a | Hm. | 21:17 |
th1a | The main point is that we'll be fiddling with it for a while. | 21:18 |
replaceafill | aelkner you're good with accordions now, right? | 21:18 |
replaceafill | i'll go get some food | 21:18 |
aelkner | yep | 21:18 |
replaceafill | cool | 21:18 |
th1a | I'd say Sections/Contacts/Demographics/Advisors/Groups | 21:19 |
replaceafill | i'll work on the relationship view when i get back, see you later | 21:19 |
th1a | Don't use "Advisees" | 21:19 |
aelkner | ok, agreed | 21:19 |
aelkner | why not? | 21:19 |
th1a | Just "Advisor" | 21:19 |
th1a | Or "Advisory" | 21:19 |
aelkner | oh, just singular | 21:19 |
aelkner | Advisory, agreed | 21:19 |
th1a | Nobody really uses that word. | 21:19 |
th1a | It just seems weirdly redundant. | 21:20 |
aelkner | is that good or bad? | 21:20 |
th1a | I'm just saying it seems a little unnecessary. | 21:20 |
*** replaceafill has quit IRC | 21:20 | |
aelkner | so Advisor? | 21:20 |
aelkner | or Advisory? | 21:20 |
th1a | Let's say Advisory for now. | 21:21 |
aelkner | ok | 21:21 |
aelkner | so i'm off for the afternoon | 21:21 |
th1a | But the bigger point is we need to keep coming back to these, getting feedback, etc. | 21:22 |
aelkner | sure | 21:22 |
aelkner | i have plenty to do when i get back | 21:22 |
aelkner | cya | 21:22 |
th1a | Later. | 21:22 |
*** menesis has joined #schooltool | 21:37 | |
*** ignas has quit IRC | 21:52 | |
*** asharma has quit IRC | 21:54 | |
*** replaceafill has joined #schooltool | 22:04 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!