IRC log of #schooltool for Tuesday, 2011-06-07

aelknerand the menu disappears, but no <a> was clicked, so no new view is loaded00:00
replaceafillhow do you click the <li>?00:00
aelknerthe <li> has padding, doesn't it00:01
aelknerthe <a> is inside that padding00:01
aelkneri would think clicking on the padding of the <li> should do nothing00:01
aelknernot make the menu disappear without doing anything00:01
aelknerbut, this is a picky point, i admit00:02
aelknerit was just confusing wy you didn't understand my point00:02
aelkneri could imagine that no user would care if the menu disappears without action00:02
aelknereven though they clicked on it00:03
replaceafilldo you have your instance running?00:03
aelknerno00:03
aelkneris ther any padding?00:03
replaceafillyes00:03
aelknerand if you click on it?00:03
aelknerthe padding, ot the <a>00:03
aelknernot00:03
replaceafillstart your instance ;)00:03
aelknerok00:04
aelkneryeah, i started it00:05
aelknerso call up a menu and then click on it outside the <a>, like the title of the menu00:05
aelknerit makes the menu disappear, not the desired behaviour00:06
replaceafillyes00:06
replaceafillit disappears?00:06
aelkneryep00:06
replaceafillit doesnt dissapear here00:06
replaceafillalthough it should :D00:06
aelknerthe logic of your code dictates that it would00:06
aelknerthat's been my point all along00:07
replaceafillbut it doesnt!!00:07
replaceafill:D00:07
aelknereven clicking on the menu's title?00:07
replaceafillduh!00:07
replaceafillmy bad :D00:07
replaceafilli'm watching YOUR branch :))00:08
aelkner:)00:08
replaceafillbzr+ssh://bazaar.launchpad.net/~aelkner/schooltool.gradebook/popup_menu/00:08
replaceafillsorry :D00:08
aelkneryou were running an instance of that branch00:08
replaceafillyes, of your old branch00:08
aelknerbut you didn't pull since i merged with yours00:09
replaceafillno00:09
aelknerso to fix this we would need the test to be better00:09
aelknerthat's why i had current_menu00:09
aelknerand tested for the parent or parent of the parent00:09
aelknerto make sure the event was not from inside the current menu00:10
replaceafillpulled00:10
replaceafillyes, it dissappears!00:10
aelknerdon't you have an instance of your own branch that you can run00:11
aelkneri would think you would have had to in order to code the change00:11
replaceafillno, it's that i reverted my last commit to see the diff00:11
replaceafillwell, it's your task, so you do it :D00:12
replaceafilland btw00:12
aelkner:)00:12
replaceafillyou should make those <li><a> display: block00:12
aelknerwhat does that do?00:12
replaceafillso the link spans through the whole li00:12
replaceafillthe current form:00:13
replaceafill[   Edit   ]00:13
replaceafillso if you click on the whitespace nothing happens00:13
replaceafillit should be:00:13
replaceafill[___Edit___]00:13
replaceafillmeaning the whole block is a link00:13
replaceafillnot that all the whitespace should be underlined00:13
aelknerwold it ot be underlined?00:14
aelknernot00:14
replaceafillno, only text is underlined00:14
replaceafillaelkner ok, are you going to do that now? or should we move to dialogs again?00:16
replaceafillby that i mean, fixing the test00:16
replaceafilland finally after like 22 hours i understood your point!00:16
aelkneri'm a patient man :)00:16
replaceafilli'm not :P00:17
aelkneri added display: blcok to the <a> and clicking on the <li> does cause the link to be visited00:17
aelknerunless i click on the border between the <li> elements00:17
aelknerand of course the menu's title would still ave the same issue00:18
aelkneri hate my keyboard, if i don't pound on each key, some get dropped00:18
aelknerthat explains my constant types00:18
replaceafill:D00:18
replaceafillyour types?00:18
aelknersaying 'ot' for 'not'00:18
replaceafill:D00:18
aelknertypos! :) that one was on me00:18
aelkneranyway, i can play with the menu stuff when we feel that we need it00:19
replaceafillcool00:19
aelknerright now it's just a proof of concept that th1a wanted00:20
replaceafillmoving back to the modal_Test branch00:20
aelknerand it got me learning jquery, so it was a good project all around00:20
aelknerright00:20
replaceafilldid you see my branch?00:20
replaceafillthe modal_test one00:20
aelknerthe latest one, from today?00:21
aelkneryeah, i already read it all, just changes for z3c form, no jquery-ui yet00:21
replaceafillcorrect00:21
replaceafillfirst, you need to insert the jquery ui stuff00:22
replaceafillfile resources00:22
replaceafilldo you want me to do it?00:22
aelknerhow do you mean 'insert the jquey ui stuff'?00:22
replaceafilli thought you should do it, so you can see what files were needed00:22
replaceafillregister the .js files as file resources00:23
aelknerthe src="jquery..."?00:23
replaceafillputting the files in skin/resources and enabling them though zcml00:23
aelknerisn't that something that is to be done once and used many?00:23
replaceafillhttp://bazaar.launchpad.net/~replaceafill/schooltool/schooltool_jquery-ui/revision/279900:24
replaceafillit should be done once00:24
aelkneryeah, that's when you added jquery-ui to the branch00:24
aelknera big commit, i remember00:24
replaceafillwe need to do the same00:25
replaceafilltrunk doesnt have it00:25
aelknercoldn't we just merge that revision to our new branch?00:25
aelknerthat would help bring in the whole juery directory00:26
replaceafillwanna try?00:26
aelknersure00:26
replaceafillgo ahead, i'll try too00:26
aelkneri tried:00:28
aelknerbzr merge -r 2799..2799 lp:~replaceafill/schooltool/schooltool_jquery-ui00:28
aelknerit said, Nothing to do00:28
aelknerhow rude!00:28
replaceafill:D00:28
replaceafilli'm trying:00:28
replaceafillbzr merge lp:~replaceafill/schooltool/schooltool_jquery-ui -r 279900:28
replaceafillbut the network is too slow00:28
replaceafill725 conflicts encountered.  :|00:31
replaceafillaelkner i'll better insert the changes myself :/00:31
aelkneri did the command you just typed, and it worked, i think00:33
aelknerlots of files came down, looking...00:33
replaceafillyou didnd get conflicts?00:33
aelknerhttp://pastebin.com/fX66jWFZ00:34
replaceafillah great!00:35
aelknerno, it isn't surprising as the changes are localized to the skin00:35
aelkneris there anything i should check before commiting and pushing00:35
replaceafillno00:36
replaceafilljquery.ui.js is added to the main template00:37
replaceafillbut you have to explicitly add jquery.ui.dialog.js in your templates00:37
replaceafillah, but this is the big jquery.ui.js file00:38
replaceafillso no extra files are needed00:38
replaceafilldialog is there00:38
aelkner'but you have to explicitly add jquery.ui.dialog.js in your templates'00:39
replaceafillno00:39
aelkneryou mean just the part that sets up the dialog and activates it on click00:39
replaceafillhold on, let me check the jquery.ui.js file00:39
aelkneri pushed lp:~aelkner/schooltool/modal_test00:39
aelkneryou can merge from it now00:40
replaceafillgreat, i'll merge from yours00:40
replaceafillthanks00:40
aelknerbtw, they played game 3 last night?  i missed it00:42
aelkneri thougt the Mavs had lost game 2, so i shut it off00:42
replaceafill:)00:42
replaceafillgood game00:42
aelkneranother one00:42
replaceafillok, merged00:43
aelkneri don't usually follow b-ball, but i'm pulling for Novinski to get his title00:43
aelknerit's too easy to like Lebron00:43
aelkneri go for the underdogs00:43
replaceafillaelkner let me know when you're ready :)00:56
aelknersorry, didn't realize ou were waiting for me to say so00:58
replaceafillnp00:59
aelkneri was waiting for you!00:59
aelkneranyway, we have the js library00:59
aelknerso far, we have the need for a hidden div and some .ready() js01:00
replaceafillcorrect01:00
replaceafillbut first, the inline view01:00
replaceafilli mean, z3c.form01:00
aelknerand we should make a base view class that has the class attrinutes01:00
replaceafillbecause right now, that view PersonPreferencesView renders the whole page01:01
replaceafillfor the dialog we need only the <form> tag01:01
aelkneryes, the new view01:01
replaceafillso, let's start with the new view01:01
*** alga has quit IRC01:01
aelknerperhaps we should discuss CourseInlineAddView01:02
aelkneras a working example, i could understand your explanation easily01:02
replaceafillyes01:02
replaceafillthe new view can subclass the current PersonPreferencesView01:02
aelknerso if you could explain CourseInlineAddView first, i'll probably be able to suggest the changes to PersonPreferencesView01:06
aelkneri mean, the main thing is the jquery integration and the class metods in the new view class01:07
aelknerfor me it's easier to start from something that works and then discuss differences01:07
aelknerself.actions['add'].onclick = self.addScript()01:09
replaceafillok01:09
replaceafilllet me get courseinlineaddview01:09
replaceafillfirst, the template01:10
replaceafillsee templates/course_inline_form.pt01:10
replaceafillwe only get the <form> tag01:10
replaceafillrendered01:10
replaceafillso, the new view should render only <form></form>01:11
aelknerbecause it's replacing the hidden div01:11
replaceafillhhmm no01:11
aelkneri tried to guess01:11
replaceafillthe hidden div will be in the person index view01:11
aelkneri thought that's where the dialog lives in the DOM01:12
replaceafillthe hidden div has to live in the page where the dialog will be displayed01:12
aelknerso i thought the form you were talking about went into the hidden div01:12
aelkneranyway, i should let you finish your point, sorry01:13
replaceafillnp01:13
replaceafillok, let's focus only on a view that renders <form></form>01:13
replaceafillok?01:13
aelknerok01:13
replaceafillfor that, subclassing the current view and using the template i mentioned is enough01:14
replaceafillso, do that01:14
replaceafillregister the view though zcml01:14
replaceafillstart your instance and visit it01:14
replaceafillsee the source and you will have only <form></form>01:15
aelknerthe <html> is then gone?01:15
replaceafillyes01:15
aelkneri should firebug your course add view now01:15
aelknerso as i said before, the form is slapped into the hidden div01:18
replaceafillyou're done with the inline view?01:18
aelkneri haven't started changing anything01:19
aelkneri'm still groking, i was hoping you would help me with that01:19
replaceafillah sorry, i thought you were going to do it as we speak :)01:20
aelknerthat's why i'm talking about the form html being inserted into the hidden div01:20
replaceafillmy bad01:20
aelknerwell, if it's that simple, sure01:20
replaceafilli think you should do it now01:20
aelkneri'll look over your instructions, one sec01:20
aelknerwhen you say, subclass, you also mean adding all the methods that CourseInlineAddView has01:21
replaceafillno01:21
replaceafilljust changing the template01:21
aelknersubclass the view just for the one template= statement, right?01:22
replaceafillyes01:23
replaceafillhttp://pastebin.com/h4Ms2UZ301:23
replaceafilland registering though zcml so it's reachable01:23
aelkneryeah, well, if you did it already, why don't i just merge it?01:24
aelknermy point is, i'd like to understand the mechanism, not see small diffs01:24
replaceafillthen do it...01:24
replaceafilli show you the diff just to compare01:24
aelknerjust merge it?01:24
aelknerwith what?01:24
replaceafillno, you code it01:25
aelknerok, fine01:25
replaceafilli just think it's easier to do that to read ;)01:27
replaceafilli'm just doing it myself to be sure what i tell you works01:27
*** menesis has quit IRC01:28
aelknerreplaceafill, when you say visit it, you mean type the url, because there is no js to call it up, right?01:33
replaceafillyes01:34
aelknerok, so i have the naked form with no html or css around it01:36
aelknernext step?01:36
replaceafillgreat01:36
replaceafilllet's go to the person index view01:36
replaceafillschooltool.basicperson.browser.person.PersonView01:37
replaceafillspecifically to the template01:37
aelknerit's small01:37
aelknerthe view is, i mean01:37
replaceafillthere we insert the hidden div01:37
replaceafillz3c.form magic :)01:37
replaceafilli think you can insert the hidden div under the person.Info viewlet01:38
replaceafillactually, it's not hidden! it's just empty ;)01:38
aelknerwe should have a convention for where we put the hidden div i think01:39
aelkneri mean, it doesn't really matter where it goes as long as it's inside <body>01:39
replaceafillyes01:39
replaceafillit's id is important01:39
aelknerwhy not put it at top as a convention01:39
replaceafillyour call :)01:39
aelknerlet the person browsing the template to see up front one of the trickier parts of the template01:40
replaceafilli like bottom :P01:40
aelknerand it's not even that much html, so it doesn't get in the way01:40
replaceafillok, put it wherever you want01:40
aelknerif the bottom, then i'd say always all the way to the bottom01:40
replaceafill:/01:40
aelkneri'm just talking about convention, for ease of reading source01:40
aelknerit's a small point, i know01:41
replaceafillok, did you insert it?01:42
aelkneranyway, 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
aelknerwell, no01:42
replaceafillwithout the condition01:42
replaceafilland you can use another id01:42
aelknerok01:43
replaceafillthis is not an add form01:43
replaceafillit's an edit form on preferences01:43
aelkneragain, we need a naming convention01:43
aelknerare all add forms going to have id addform?01:43
replaceafillpreferences-dialog?01:43
aelknerif not, should the course add form have id, "course_addform"?01:44
aelknerthis is why i asked about flourish at the meeting today01:44
aelknerjust arbitrarily naming things according to present mood is hostile to future code readers!01:45
replaceafillthis is iteration 1 aelkner :)01:45
replaceafilli know what you mean01:45
aelknerok, but keep in mind, it's never too early to think abot it01:45
aelknerdecisions made in what-ifs often get set in stone later01:45
aelknerbecause no-one has the time  (or inclination) to re-visit01:46
replaceafillnot a big issue at this point01:46
hoffmanyou guys still talking?01:46
hoffmanThat's the kind of dedication I like to see.01:46
replaceafill:)01:46
aelkneranyway, i'll use a name that matches the .html name as much as makes sense, i think01:47
replaceafilli'm in a small room, so... no where to go :(01:47
replaceafillaelkner +101:47
replaceafillaelkner ready to move on?01:48
replaceafilli have my beautiful empty <div></div> set01:49
aelknerwhat about id="person-preferences-form"?01:49
replaceafillwhatever you want aelkner!01:49
aelknerand do we want minus signs instead of underscores01:49
replaceafillyes!01:49
replaceafillthat's important actually01:49
replaceafilldots mean something in jquery01:50
replaceafillso be careful with them01:50
aelkneri was talking minus versus underscore01:50
replaceafillah sorry :)01:50
replaceafilleither is fine01:50
replaceafilljust be aware of dots :)01:50
aelkneractivity_heading uses underscore01:51
replaceafillfor ids and classes01:51
aelknerso i have the div, what next01:51
replaceafillok01:51
aelknerthe js, i'm guessing01:51
replaceafillyes01:51
replaceafillin the same person index template01:52
replaceafillyou need a custom <script></script> tag01:52
replaceafillyou already have the "extrahead" slot used there01:52
aelkneri can copy that block from the course one01:53
replaceafillyour call01:53
aelknerbtw, what do you mean extrahead is already used in person.pt?  i can't find it01:54
replaceafillin person_view.pt01:54
aelknerperson_view.pt?01:55
replaceafillyou're in the person index view right?01:56
aelknerview class?01:56
aelknerPersonView(BrowserView)01:56
replaceafilli told you at 16:36...01:56
replaceafillschooltool.basicperson.browser.person.PersonView01:57
aelkneras i just typed01:57
replaceafillpersonview doesnt subclass browserview01:57
aelkneri just pasted that from person.py01:58
replaceafillaelkner just follow that class i pasted01:59
* replaceafill thinks aelkner is looking at schooltool.person.browser.person.PersonView02:00
aelkner+class PersonPreferencesInlineView(PersonPreferencesView)02:00
aelkneryes, i was, what else?02:00
aelkneryou say person view, i think person view, funny that02:00
replaceafill:S02:00
aelknerso please restate what you want me to do without saying 'that view we talked about two hours ago'02:01
replaceafillok, baby steps...02:01
replaceafillgo to: /schooltool/basicperson/browser/templates/person_view.pt02:01
replaceafillwhere i assumed you already inserted your <div></div>02:02
aelkneroh, basicperson02:02
replaceafill¬¬02:02
aelknernope inserted it in person.pt02:02
replaceafilli wish i was as patient as aelkner is :P02:02
replaceafilli bet you did ;)02:02
replaceafillno biggie, we're working on basicperson02:03
aelknerwell, hell, i've been making all these changes to teh person package02:04
replaceafill:/02:04
replaceafilli think you should render the views to check everything works02:04
aelknerwait, the preferences view IS in the person package02:05
replaceafillyep02:05
aelknerso you see why i got lost02:05
replaceafillno i dont :D02:05
replaceafillsince i pasted you the right class ;)02:05
aelkneryeah, and i never miss a thing02:06
replaceafillok, i'll type everything twice ;)02:06
replaceafillok, i'll type...02:06
replaceafill:P02:06
aelknerno, no02:06
replaceafilli'm just messing with you aelkner, sorry02:07
aelkneri figure i only need to change one thing in basicperson02:07
aelknerthe inline view stays in the person package, right?02:07
replaceafillyes02:07
aelknerNOW i see the extrahead :)02:08
replaceafilleeeh02:09
aelknerso that metal block just to render <script> is ugly02:10
aelkneranyway, i have the same js as the course_Container view had02:11
aelknerdo i need to add class attributes to the basicperson view class?02:11
replaceafillyep02:11
replaceafillchange the template to match the attribute in the template02:11
replaceafillsorry in the view02:11
replaceafilland i added a method to the class called addform_inline_url02:12
replaceafillthat renders the inline url02:12
aelkneri asked before why not just do that in the pt file?02:15
replaceafillwhatever you like the most ;)02:15
aelknerjust adding the class attribute to the specific python view class doesn't help anything02:15
replaceafillyou will need logic in the template to do it though ;)02:16
aelkneralso, the id, why is that in the view class?>02:16
replaceafillagain, i was looking for a general solution aelkner02:16
replaceafilland since you're good detecting patterns, you'll get there ;)02:16
aelknerbut then you suggest putting in the specific view class02:16
aelknerthat is not general02:17
replaceafillso, make it general ;)02:17
aelknerbesides, the specific need has no generalization02:17
aelknervar addform_id = '#' + '<metal:block tal:replace="view/addform_id" />';02:17
replaceafillwhen you have 10 dialogs, you let me know what's general :P02:17
aelknerwhy not just say var addform_id = '#addform'02:18
replaceafillgo ahead02:18
aelknerok02:18
replaceafillbut one tiny detail...02:18
replaceafilldid you call your hidden div "addform"?02:18
aelknerno02:18
replaceafill;)02:19
aelknerperson_preferences_form02:19
replaceafillso, change it02:19
aelknerif, on the other hand, the js code was dynamically generated02:19
aelknerthen there would be a view class tat went along with that02:19
replaceafillyou'll get there02:19
aelknerwe should think this over with yvl in the morning02:19
aelknerfor now pasting the js into each form is all we got02:20
replaceafillok, can you show me what you put in <script></script>02:20
aelknerone sec02:23
aelknerreplaceafill, so the part about changing the click of the action link02:31
aelkneryou have XXX there for good reason02:32
replaceafillyep02:32
replaceafillfor testing purposes, you can use the same02:32
replaceafill*THAT* you need to run it by yvl02:32
aelknerwhat does the test mean02:32
replaceafillok02:32
replaceafill      $('div.content-nav a:last').click(function(e) {02:32
replaceafillassing the handler to the click function of the last action button02:33
replaceafillif you use it as it is, you'll get it in Reports button02:33
aelknerok, so a hack just for now02:33
replaceafillthen you call the dialog to show it02:34
replaceafillpassing width as the only parameter02:34
replaceafilli append 30px to the form width02:34
replaceafillso the dialog leaves a little room for the form02:34
aelkneri see02:35
replaceafillopen the dialog and prevent the action to follow the Reports link02:35
replaceafilltry it02:36
replaceafilland can you push your changes?02:36
replaceafillso i can merge02:36
aelkneri was getting the dialog to come up, but it was empty because the url was wrong for the load02:44
aelkneri reversed inline and index in index_inline.html02:44
aelknerthen i when i fixed it, the script doesn't come up in firebug anymore02:44
aelkneri'm confused by this at the moment02:45
replaceafillcan you push your changes?02:46
aelknersure02:46
aelknerpushed02:47
replaceafillpulling02:47
aelkneri see a problem02:48
aelkneri still have the minus signs for some reason02:48
aelknerin the empty div's id, i mean02:49
replaceafillaelkner it works here02:49
aelknerhow could that be, did you change the form id?02:49
replaceafillnope, i just merged your changes02:50
replaceafillhttp://img31.imageshack.us/img31/3070/pantallazolli.png02:50
aelknernever mind, i was looking at an older diff before i changed it i guess02:50
replaceafill:/02:51
replaceafillso it works for you too?02:51
aelknerno, when i click on Reports from the person index view, it ust goes to the reports02:51
aelknerwhat the hell?02:52
replaceafill:D02:52
replaceafillbzr status02:52
replaceafillmaybe you accidentally changed something02:52
aelknerno changes02:52
replaceafillaelkner02:53
replaceafillopen firebug02:53
replaceafillgo to Console02:53
replaceafilland reload the page02:53
replaceafillyou should get no errors02:54
aelkneryeah, no errors02:55
aelknerbut no js either02:55
aelkneryou know when you go to script02:55
aelknerand it tells you to hut the reload button02:55
aelknerthe panel has two pulldowns,  all and jquery.js02:56
aelkneri think usually the page js would come up instead02:56
replaceafillyou restarted the server right? :)02:57
* replaceafill is confused...02:57
aelkneryes02:57
aelknerand it's not in the page source in the browser either02:57
replaceafillyou're in the person index view right?02:58
aelknernow it works!02:58
replaceafill!!!!02:58
replaceafillwhat was it?02:58
aelkneri was in the home view :)02:59
replaceafill:|02:59
aelknerit has the same action buttons, so...02:59
replaceafillok02:59
replaceafillso, you see it works correct02:59
replaceafillbut that's not ajaxy enough02:59
replaceafillbecause when you hit Apply the whole page is reloaded02:59
aelkneryeah it works like a charm02:59
aelknerah, yes, that03:00
aelknerwell, we can start on that tomorrow03:00
replaceafillok03:00
replaceafillwe also need a better form to customize03:00
replaceafillsomething with more than optional checkboxes03:00
replaceafillok, let's work on that tomorrow03:00
replaceafillany questions?03:01
aelknerwell, i'm not sure the contents matters as much as the machinery03:01
aelknerone field to change 100 fields, same difference03:01
replaceafillnope03:01
replaceafillsuppose you get an error on the form03:02
replaceafillyour current solution would render the non-css form03:02
replaceafillwith the error03:02
aelkneroh03:02
replaceafillsame for cancel03:02
aelknerthat wold't be good03:02
replaceafillcancel will submit the form03:02
replaceafillcancel would just have to close the dialog03:02
replaceafillnot submit the form03:02
aelknerok, anyway, i'm done for today, how about you?03:03
replaceafillthat's what course inline view does03:03
replaceafillme two, have to spend time with my daughter :)03:03
replaceafillsee you tomorrow03:03
aelknerwhat time?03:03
replaceafillusual meeting time?03:03
replaceafillcorrect?03:03
aelknerusual for this week, or usual for monday?03:03
aelknertoday we met at 8:3003:03
replaceafilli thought th1a said "usual" as in every week03:04
aelknerok, sounds good to me03:04
replaceafilldont trust me though ;)03:04
aelknerdo you trust yourself?03:04
replaceafill"Regular time."03:04
replaceafilldont trust anyone!03:05
aelknerok, 9:30 it is03:05
replaceafillsee you aelkner03:05
replaceafillgood work with the dialog stuff :)03:05
aelknerthanks, it was a good day03:05
aelknerhave fun with the family!03:06
replaceafillthanks :)03:06
*** replaceafill has quit IRC03:10
*** aks has joined #schooltool06:13
*** aks has joined #schooltool06:13
*** th1a has quit IRC07:36
*** hoffman has quit IRC07:57
*** alga has joined #schooltool08:49
*** alga has quit IRC09:21
*** menesis has joined #schooltool09:28
*** alga has joined #schooltool10:31
*** menesis has quit IRC11:02
*** menesis has joined #schooltool12:42
*** ignas has joined #schooltool12:47
*** alga has quit IRC13:21
*** ignas has quit IRC14:23
*** aks has quit IRC14:32
*** alga has joined #schooltool14:34
*** yvl has quit IRC14:36
*** ignas has joined #schooltool15:03
*** th1a has joined #schooltool15:58
*** replaceafill has joined #schooltool16:09
*** yvl has joined #schooltool16:29
th1ahi aelkner, replaceafill, yvl, menesis.16:30
yvlmorning :)16:31
replaceafillgood morning/afternoon16:31
aelknermorning16:31
th1aOK, let's start with yvl.16:32
yvlok16:32
yvlI figured out a small mistake I made, now fixing16:33
yvlsimply put, I composited a manager instead of inheriting16:33
yvlseemed easier to do, but it's not easier to use16:33
yvlhence - no central branch yet16:33
yvlI expect to push it tomorrow, at the end of my work day16:34
yvlI also thought that instead of writing an email explaining how to write a page16:35
yvlit might be more reasonable to write it as a test in the code16:35
yvlso that would come next16:35
th1aOK.16:35
th1aI think I have enough to keep replaceafill and aelkner busy.16:35
yvloh, and I want to do at least one basic person view16:35
yvlprobably tomorrow, we'll see if I can fit that in16:36
th1aI'm not sure what you mean.16:36
yvlwhen we have person container view + person index view16:36
yvlreplaceafill and aelkner can start experimenting with JS in flourish branch16:37
th1aOK.16:37
th1aYes.16:37
yvlsay with the change password button16:37
yvlwell, that's it for now16:37
th1abtw, we decided the change password button was probably a bad example since it logs you out.16:38
th1a(for modals)16:38
yvltrue16:38
th1aOK, thanks yvl.16:38
th1abtw, while this is only going to be a two week sprint, it is looking more like an eight week project.16:39
th1aSo we may be doing UI until feature freeze.16:39
th1a(mostly)16:39
th1aIn case you were wondering.16:39
yvlI was thinking the same thing16:40
th1aOK, replaceafill & aelkner, someone want to sum up where you are?16:40
aelknerreplaceafill, why don't you go ahead16:40
replaceafilli just want to say that i ported the edit password and preferences views to z3c.form16:40
replaceafillit was relatively easy16:41
replaceafillfor the edit password view we need to add a field for the "current" password16:41
replaceafillin case someone leaves his session open16:41
th1aSo aelkner knows how to do that now, correct?16:42
replaceafilland 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 view16:42
replaceafillth1a we worked on jquery dialogs with aelkner, not z3c.form porting16:42
replaceafilli ported the views before we started16:42
th1aOK, but he's going to have to know that too.16:42
replaceafilli think you can handle that, right aelkner?16:43
aelknerth1a, i groked the z3c changes, nothing difficult to understand16:43
th1aOK, just checking.16:43
replaceafilland aelkner got to a point where he was able to get a dialog16:43
replaceafillnow he has to do the "ajaxy" part16:44
replaceafilland little changes like the "cancel" button of the dialog, to close the dialog instead of submitting the form16:44
th1aCan you guys go over that today?16:44
replaceafillwe are, right aelkner? :)16:44
aelknerthat was the plan16:44
replaceafillype16:44
th1akk16:44
replaceafillyep16:44
replaceafillwe should pick a new view16:45
replaceafillthe thing with preferences is that is just two checkboxes16:45
replaceafillso aelkner sees the ajaxy part better16:45
replaceafill(validation, etc)16:45
th1aWhat kind of form do you need for validation?16:46
replaceafillsomething like add course :) (which i already did)16:46
th1aI'm not sure we'll even be doing much of that in modals.16:46
th1aWhat needs to be validated?16:46
replaceafillthat you dont set a title for example16:46
replaceafillor a string when you're supposed to use integers16:47
th1arequired fields16:47
th1a?16:47
replaceafillyes16:47
replaceafilli should take a look at the spreadsheet16:47
th1aWell, I should make more pages in the spreadsheet.16:47
th1aProbably something from the gradebook.16:47
th1aWe can take a look after the meeting.16:48
replaceafillcool16:48
replaceafillthat's it from me16:48
aelknerthere's nothing for me to add16:48
aelkneri'll just be working with replaceafill today16:48
th1aOK.  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
th1aI have an old-school Zope 2 CSS question.16:49
th1aBack in the stone ages we used DTML in CSS to do things like change "primary-button-color" throughout the sheet.16:50
th1aPresumably there is a proper way to do that kind of thing now?16:50
th1a(if you follow me)16:50
replaceafillnot really :(16:51
yvlI don't think so16:51
th1aOK... 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
replaceafillth1a so the css file was dynamically generated16:51
th1aNot by manually editing all the CSS.16:52
th1aI think.16:52
yvlthough there should probably be something like this16:52
yvlif not, it's not like it's that hard to do ;)16:52
th1aAre there variables in CSS?16:52
replaceafillhttp://pypi.python.org/pypi/z3c.zrtresource16:52
replaceafillmaybe16:52
replaceafillth1a no that i know16:52
th1ahm.16:54
th1aWeird.16:54
th1aOK, so, to give a more concrete example.16:54
th1aIn the Ubuntu guidelines, #dd4814 appears in several contexts.16:56
th1aBasically , it is one of the oranges used.16:56
th1aIt would be nice if we could just use their palette, and then switch the oranges to equivalent reds in one file.16:56
th1aSee what I mean?16:57
replaceafillyes16:57
th1aBut it probably isn't that big of a deal.16:58
th1aYou can just do find/replace on the file.  ;-)16:58
replaceafillcan't we put those in a separate file and swap files later?16:58
yvlhmm, Zope still has zope.app.dtmlpage16:58
th1aIn Zope 2 that's what allowed you to switch themes on the fly.16:58
th1aI 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
aelknerthe css files are hard-coded now17:00
yvlsomething like http://sass-lang.com/ maybe17:00
aelknerin theory they could be page templates17:00
aelknerand then the contents of some file could be used to get the view class attributes to fill in the template17:01
th1aOne 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
th1aBecause I'm going to be telling the designers to be work from the guidelines.17:02
th1aExcept for the orange.17:02
yvlright :)17:03
yvlbtw, http://pypi.python.org/pypi/fanstatic/0.11.2 is kind of expected to do some SASS support17:03
th1aOK, follow that replaceafill?17:04
yvlMartijn Faassen is one of developers... might ring a bell ;)17:04
replaceafillth1a yes17:04
th1aI'll also be getting colors for gradebook highlights, calendar events, etc.17:05
yvlit looks very early in the development, but menesis put it on my radar :)17:05
replaceafillyvl what are your thoughts on us using css3?17:05
replaceafilli mean, browser support wise :)17:05
yvlwell, we all know what google did ;)17:06
th1aWhat are your thoughts, replaceafill?17:06
yvlmy take would be use CSS2 for now17:06
th1aI 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 them17:06
replaceafilli just want to know how important are old browser for us17:07
yvl(and I was referring to http://www.vertical-leap.co.uk/news/google-drops-older-browser-support/)17:07
replaceafillso we're not using fancy features17:07
th1aI'd say not very.17:07
replaceafillyvl wow!17:08
replaceafillff 3.5, ie 7, safari 3317:08
th1aI think the future looks bright for browser improvement.17:08
th1aAnd people wanting to stay up to date.17:09
replaceafillok, we're sticking with css2 then17:09
yvl+ rounded corners if we need ;)17:09
yvland other polish like that17:09
th1aUh... yeah, it just depends on what we need from CSS 3.17:09
th1aI'm not against it if it will help.17:10
replaceafillproprietary properties, like "moz-*", etc17:10
replaceafill?17:10
th1aIf it improves real usability, I'd say go for it.17:10
yvlreplaceafill, I'm not against them17:10
th1a(the CSS3)17:10
replaceafillyvl cool17:10
th1areplaceafill, I don't have a strong feeling about proprietary properties.17:10
yvlsince, again - it's just polish17:10
yvlif more browsers are supported almost painlessly - then why not?17:11
replaceafillcool and i see you already used some for flourish :)17:11
yvljust trying them out ;)17:11
th1aOK, back to colors.17:12
th1aIt is important that we rein in oddball colors.17:12
yvlright17:13
yvlmaybe we can just name them in comments for now17:13
th1aWe don't want any crazy singleton colors.17:13
yvlsomething like in the beginning of base css17:13
th1aYeah, I mean, don't start doing colors immediately anyhow.17:13
yvl/ button-neutral  #22002217:13
yvland then copy those names as comments where we use them17:14
th1aYes, we need to do a little planning and extract some of the data from the web guidelines.17:14
th1aI probably need to do that today for the meeting tomorrow with the designers.17:14
yvlI'd guess we'll eventually need a broader palette than the basic Ubuntu colours + their shades17:15
th1aYes.17:16
th1aCalendar events, a few more warning or approval colors.17:16
yvlwe think alike ;)17:16
yvlhopefully I did not offend you with that last comment ;)17:17
th1aNo.17:17
aelkneryvl, it's you who should be scared :)17:17
th1aWhat are people's thoughts about the overall organization of CSS?17:17
th1aHow should replaceafill approach it globally?17:17
th1aMore small files, one big one, etc?17:18
yvlCSS should be where it's used in my opinion17:18
th1aOK how it is, kinda?17:18
yvlso - somewhat small files17:18
yvlflourish gives the page "frame", forms and some stuff17:19
yvlso it needs to have CSS for that17:19
yvlother CSS should be in other places17:19
yvlif some page needs some custom css, add a resource there17:19
yvlif we find stuff that is shared, we'll make it shared17:20
yvlbut keep it close to actual page templates, IMHO17:20
replaceafilli agree17:20
th1aGoing forward, we should use as little custom as possible.17:20
*** asharma has joined #schooltool17:21
yvlyes17:21
replaceafilland to me, an important outcome of this task is having docs for the css17:21
aelkneramen to docs!17:21
replaceafillnot very detailed, but the broad picture of it17:21
th1aOR at least well commented CSS.17:21
replaceafillcorrect17:22
yvlby the way, I noticed in the logs that you thought of "running something" through "yvl"17:23
yvlmight I ask what that was?17:23
replaceafillah!17:23
yvlor rather, is it still relevant?17:23
replaceafillyvl i think it's how to assign javascript behaviour to an action button17:24
th1aThat's kind of an obselete question.17:25
th1aMaybe not entirely.17:25
yvlreplaceafill probably meant which is a better way...17:25
* yvl shrugs17:25
yvlfrankly, at this point the simpler the better17:25
*** jelkner has joined #schooltool17:26
aelkneralso, we are going to need to generalize the js that we have for the dialogs17:26
yvlwe will17:26
aelknerlike using viewlet managers17:26
yvlbut I'd like to see 3-4 different views with JS first17:26
aelknerok, that's a good idea17:26
replaceafill:/17:26
th1aI guess preferences is likely to end up in the sidebar.17:26
aelkneryou can follow our branch, and we can go ahead and do the js in each view17:27
th1aSo 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 there17:27
yvlagreed aelkner17:27
th1aWell...dumping less important things there isn't a bad idea.17:27
yvltrue, th1a17:28
aelkneryvl, what do you mean exactly17:28
aelknercould you list what we're dumping here17:28
aelknerit may not be such a bad idea if we get it out there17:28
th1aWe don't want to just move the giant row of unorganized links into a giant column of unorganized links.17:28
yvlyes :)17:29
yvlthank you th1a  :)17:29
aelknerwell, sure17:29
aelkneranyway, i was talking viewlets for js, so...17:29
yvlin any case, if you find some JS that could be moved to a static .js resource - that would be nice17:29
aelknerwe have an extrahead section in the macro where we put the scripts17:30
aelknerall we need is a viewlet manager there and viewlets for the classes to use17:30
yvlok17:30
aelkneror register, better put17:31
aelknerparameters for form ids17:31
yvla reminder - static resources will be registered via zc.resourcelibrary17:31
aelknereven lambdas for creating inline url17:31
yvlat this moment I don't plan on having any dynamically rendered scripts in head (!)17:31
yvlhtml head that is17:32
aelknerbut i'm ok with creating 3-4 views first with redundant jx17:32
aelknerso that we can establish a pattern17:32
aelknerbefore bothering to design the managers and viewlets17:32
aelknerbesides, you have flourish zcml namespace to deliver us in the short term17:33
aelknerwe would probably want to take advantage of that while we're at it17:33
yvltrue17:33
aelknerit would be best to get someting from you quickly17:33
aelkneryou know, we can change zcml directives, too17:33
aelkneronce we have the patter established by you first push17:34
aelknerwe can follow that to create zcml for viewlets even, if we feel we need to17:34
yvlI just need to move some stuff around17:34
yvlI'm pretty sure you wouldn't like that to happen once you start working with it ;)17:34
th1aOK.  I'd like to hit one more topic before dropping.17:34
aelkneryvl, sure17:35
replaceafillyvl are you setting ids on action buttons on flourish?17:35
aelknerreplaceafill, ids would go great in zcml, wouldn't they?17:35
yvlno, replaceafill - but a good point17:35
replaceafillsorry for being annoying but my question is not obsolete yet :)17:36
replaceafillwe have no "easy" way of bindng js to a button :(17:36
replaceafillif flourish provides ids for buttons, then i'll shut up :P17:36
yvlare "name"s ok?17:37
yvlfor <a> ?17:37
replaceafillsure, only something to tell them apart from each other17:37
yvlok17:38
yvlI'll put that in17:38
replaceafillthank you!17:38
th1aCool.17:38
* replaceafill proceeds to shut the **** up ;)17:38
th1aThanks for finishing the conversation replaceafill.17:38
yvlthank you for bringing this up, replaceafill !17:38
th1aLast thing I want to bring up is the change to index lists to have delete buttons in each row.17:39
replaceafilli mean, on this topic ;)17:39
th1aDoes anyone object to that?17:39
th1aAnd then perhaps js confirmations?17:39
aelknerwith a modal confirmation?17:39
th1aYes.17:39
yvlhmm17:39
yvlI object in some places17:40
aelknerlaunchpad uses ajax for changing bug attributes17:40
aelknerbut i don't recall a confirm step in modal form17:40
yvlless volatile things - like status, membership and such - +3 for such buttons17:40
th1ahttp://jqueryui.com/demos/dialog/#modal-confirmation17:40
yvlnot for delete section, delete person and so on17:40
th1aWell... right now you just do the checkbox thing.17:41
yvlif it's pure js confirmation it's not there :/17:41
th1aWhich is less clear.17:41
yvlwell17:41
th1aPersons, etc. should have a "Hide" button of course anyhow.17:41
replaceafilli only object that with buttons you lose multiple selection17:42
yvlthere is a small app called Gmail17:42
yvlI mean - checkbox-for-deletion concept is not that alien17:42
aelknerth1a, when you say hide with persons, you need to consider that the username has to be given up17:43
yvland 20 delete buttons in a row is just an accident waiting to happen17:43
th1aHm.17:43
aelknerit's not like hiding a worksheet where the id is not interesting to the user17:43
yvland you all know, that modal confirmations is an illusion17:43
yvlthey've been exploited for so long17:43
yvlthat if the user sees something like modal17:43
yvlthe instinct is to go for OK, whatever17:43
th1aI 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
yvlto that I agree :)17:44
aelkner'buttons need to be near the objects' we were told17:44
th1aOK, what about if you have to explicitly turn the delete buttons on.17:44
yvlDelete selected would fix that ;)17:44
th1aEssentially switch modes .17:45
th1aOr, explicitly go to the delete view.17:45
th1aWith checkboxes.17:45
th1aAnyhow, we can table this for now.17:46
yvldelete view with checkboxes is better17:46
yvlbasically - delete buttons in rows are ok for things you do often17:46
yvland don't care that much if you make a mistake17:46
th1aYes.17:46
th1aOK, let's continue this conversation later.17:46
aelknerright, deleting a person should be more steps17:47
yvl(I like the concept, FYI)17:47
th1aWell, like yvl says, confirmation steps are only minimally effective.17:47
th1aAll right, that should do for now.17:48
th1aDo you guys want to meet without me tomorrow?17:48
th1aI'll be at the design company's office.17:48
yvlI think we can manage that17:48
aelknernp for me17:48
yvlin any case - I'll be around17:48
yvlif you guys have no questions then just sleep ;)17:49
th1aOK.  aelkner, at some point we need to discuss hiding.17:49
th1aPerhaps this afternoon.17:49
yvlworksheet hiding?17:49
yvljust curious17:49
th1areportsheet hiding.17:49
aelknerok17:49
yvloh, right17:49
th1aJust the UI.17:49
* th1a drops the bag of gravel.17:50
aelknername a time17:50
th1aThanks guys!17:50
yvlthank you all :)17:50
th1a2:00?17:50
aelknerright17:50
*** yvl has quit IRC17:52
replaceafillcan anyone remind me if we're changing "relationship" views?17:55
th1aIn what sense?17:57
replaceafillUI17:58
replaceafillth1a i'm thinking about the @@groups.html view for person17:58
replaceafilland how to make it modal17:58
th1aAh.17:58
th1aWell, it isn't on the short list.17:59
th1aIt 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
th1aI think we should see how it feels if it isn't too har.18:01
th1ad18:02
replaceafillthe porting part is what i'm analyzing right now18:02
th1aThere is also a good case they should just be completely redone.18:02
th1aBut I think there are a lot of bigger problems with higher priority.18:03
replaceafillright18:03
replaceafillmaybe we should find a simpler example for aelkner to try ajaxy behaviour18:03
th1aIs it that much harder than validation?18:04
replaceafillno, validation is done by the view class, we only need to insert the validation messages back18:05
replaceafillit's not that difficult18:05
replaceafillthe Groups button on person is also a good example for message dialogs, like "you don't have any groups yet"18:06
th1aI don't think you want a dialog for that.18:07
th1aAnyhow...18:08
replaceafillby dialog i mean, message + OK button18:08
th1ahow hard would be relationships view?18:08
th1aIf it works well it will be used a lot.18:08
replaceafilli can try rewriting groups if you want18:08
replaceafillso we know :)18:09
replaceafilli mean, the groups view for person18:09
th1aI think we're going to need to try it anyhow.18:10
aelknerreplaceafill, when do you want to talk about the ajaz stuff?18:10
aelknerajax18:10
replaceafillaelkner when we find a good example for it...18:10
th1aLet me give you an example.18:10
replaceafillwe could talk accordions18:10
th1aOf what I'm thinking.18:10
th1aExactly...18:11
th1aSo let's say you've got the "Advisors" accordion slot.18:11
th1aYou expand it and you see if you have any, and there is an "edit" link (if you have permission)18:11
th1aand if you click that you just get a relationship modal dialog.18:12
th1aAnd then back to where you were.18:12
replaceafillsame behaviour as with groups, correct th1a?18:12
th1aEssentially, yes.18:12
th1aI think that's a better feel.18:12
th1a(than what we've got now)18:13
replaceafillcorrect me if i'm wrong but we have no space for advisors in the person view, right?18:13
replaceafilli mean, in the current view18:13
replaceafillonly sections and groups18:13
th1aRight.18:13
replaceafillwell, aelkner we can do accordions18:14
replaceafilladd the advisors space too18:14
aelknerok, sounds like a plan18:15
replaceafilland in the afternoon, i'll try relationship views18:15
replaceafillwhile you discuss hiding18:15
th1aGood.18:15
aelknerok18:15
replaceafillok18:15
aelknerreplaceafill, i could use a break to get something to eat18:16
replaceafillaelkner http://jqueryui.com/demos/accordion/18:16
replaceafillah sure18:16
replaceafillhow long do you need?18:16
aelknerlet's say back in 15 mins18:16
replaceafillcool, i'll get some coffee18:16
aelknerreplaceafill, i read the accordion docs and have some questions19:00
replaceafillyes?19:00
aelknerwell, do you understand wat they intend when they say change: function(event, ui){...19:01
aelknerwhile you are binding to the event?19:01
replaceafillurl?19:02
aelknerthen one you gave me, ust hit the events tab and expand one of the divs19:02
aelkneri mean, $( ".selector" ).accordion({19:03
aelknerthat looks like dialog looked19:03
replaceafillevent, is the event object19:03
aelknerlike the definition of the accordian19:03
replaceafillui, is a function callback19:03
aelknerwhat events could event have?  what is the event acting upon?19:04
aelkneri mean, if the accoridion is handling collapsing and expanding, what event are we handling?19:04
replaceafillnone19:04
replaceafillyou dont need to mess with events19:04
aelknerso why the syntax in the docs19:05
replaceafilljust create the accordion19:05
replaceafillbecause you're looking at EVENTS19:05
replaceafillbut for your task you dont need events19:05
replaceafilljust to create the accordion19:05
aelkneryou just need the div with the id, right?19:05
replaceafillyes19:06
aelknerand the h3 next to the content for each sub-section19:06
replaceafillnot an id necessarily19:06
replaceafillyep19:06
replaceafillin the person index layout19:06
replaceafillyou should use h319:06
replaceafilland group everything below in a single div19:06
replaceafilllook at the groups block for example19:06
replaceafillit has: h3, div, div19:07
replaceafillsorry19:07
replaceafillh5, div, div19:07
aelknerwhich view?19:07
replaceafillperson index19:07
aelknerIPersonContainer index.html?19:07
replaceafillschooltool.basicperson.browser.person.PersonView19:08
aelknerperson_view.pt, right?19:08
aelkneri don't see and groups19:08
aelkneroh, the h5, i see that19:08
replaceafillno19:09
replaceafillyou should start your instance19:09
aelknerwhere is the groups block?19:09
replaceafillmagic ;)19:09
replaceafill<tal:block tal:replace="structure provider:schooltool.person.Info"/>19:10
replaceafillit's a viewlet manager19:10
aelknergot it19:10
replaceafillso, look for all the viewlets registered for it19:10
aelknerthe viewlet supplies the the title, the thing we need the user to click on to accordion the div19:10
replaceafillyes19:12
aelknerso it's the renderer of the manager that needs to change19:13
replaceafillno19:13
replaceafillthe jquery accordion will look for a div, right? with an id #accordion in the example19:14
replaceafillbut it can be any selector19:14
replaceafillinside that div it will look for <h3>s followed by <div>s19:14
replaceafill<h3></h3><div></div>, <h3></h3><div></div>, ...19:15
replaceafillall those will be accordions19:15
replaceafillour viewlets for person info use h5 for titles19:15
aelknerright19:15
replaceafilland one of the produce <h5></h5><div></div><div></div>19:15
replaceafillnote the two divs19:15
aelkneractually, it's the manager that renders that19:15
replaceafillno! the viewlets!19:16
aelknerschooltool.person.Info is registered as a viewletManager in the zcml19:16
replaceafillthe viewlets have their own templates19:16
replaceafillyes, but it's the viewlet tempaltes the ones you have to modify19:16
replaceafilldont touch the manager19:16
replaceafillit's the viewlet templates19:16
replaceafilllet me look for the files19:16
replaceafillschooltool/group/browser/groupviewlet.pt19:17
replaceafillschooltool/course/browser/templates/coursesviewlet.pt19:17
replaceafillthose aelkner19:17
replaceafillthose are the one you need to make uniform19:17
replaceafillbut dont change the h5 to h319:18
replaceafillbetter, tell the accordion to look for h5s19:18
replaceafill$( ".selector" ).accordion({ header: 'h3' });19:18
replaceafillyou an say $(selector).accordion({header: 'h5'});19:18
replaceafillcan say19:18
aelknergot it19:22
replaceafillgreat19:23
aelknerdo you think it's ok to have h5, div, div, h5, div, div19:24
aelknerinstead of h5, div, h5, div?19:25
replaceafillno, jquery will take only the next to h5 i think19:25
replaceafillso, better change the groupviewlet.pt to h5, div19:25
replaceafillgrouping the last two divs19:25
aelknerok19:26
aelknerwhat do thinj the deal is with the empty Details div?19:26
replaceafillnot sure :)19:26
replaceafillsomeone needed the Details title :)19:27
aelknerit's old, i don't know wy i asked19:27
aelkneranyway19:27
replaceafillwhat selector are you going to use for the accordion?19:27
aelkneris it ok that the h5, div is housed in the div at the top19:27
replaceafillare you going to insert an id?19:27
replaceafillwhat do you mean?19:28
aelknergroupsviewlet.pt starts with a div, then contained therin is h5, div, div19:28
aelkneri'm clear about combining the two divs after h519:29
aelknerbut what about the fact that they are all contained in the div at the top19:29
aelknerwe don't need that div anymore, right?19:29
replaceafillyou do19:30
aelknerthe pt could just start with the h519:30
replaceafillit's for the jstree functionality19:30
replaceafillsee the clearfix class19:30
aelkneryeah19:30
replaceafillthat makes that div to span vertically as much as necessary according to its children19:30
replaceafillif you remove it everything goes up in the vertical space19:31
replaceafilltry it in firebug19:31
replaceafillrender the page with groups and sections19:31
replaceafilland remove that class19:31
replaceafillit's easy to remove classes in firebug19:31
aelkneri could move it, not remove it19:31
replaceafillyou will see everything messes up19:31
aelknerif the pt starts with h519:31
replaceafillwell, you can make the changes you need as long as you keep the visual layout :)19:32
aelknerthen div class="clearfix..."19:32
aelknerthen the divs under that, one of which is class tree_list19:32
aelknerso the template is ust h5, div19:32
aelknerman my j just won't type easily19:32
replaceafill:D19:32
replaceafillaelkner try this:19:33
replaceafilljust group the two bottom divs under h5 in groupsviewlet.pt19:33
replaceafilland build the accordion with {header: 'div.h5'}19:33
replaceafillsorry19:34
replaceafill{header: 'div h5'}19:34
aelknerthat wold work you think?19:34
replaceafillprobably you dont even need the div19:34
aelkneryou mean don't need to group the two div, right?19:34
replaceafilli think, group two bottom divs, use h5 for accordion19:34
replaceafillyes, you have to19:34
replaceafillok, let's start over19:35
aelkner'probably you dont even need the div' what does that mean?19:35
replaceafilljust build the accordion :D19:35
aelknerthat's no way to start over :)19:35
aelknerok, i'll play around with it19:36
replaceafillno, i mean, just insert the JS19:36
replaceafillrigth19:36
aelknerit works!19:39
replaceafillyay!19:39
replaceafillcan you push?19:40
aelknerone line of js, and i put an empty div in the details block so it wouldn't get confused19:40
aelkneri haven't tried it without, on sec19:40
aelknerit works without the empty div19:41
aelknerwe should be getting rid of Details i think19:41
replaceafillwe should ask th1a19:42
aelknerany section that wants to go there in the future should just do so via viewlet19:42
replaceafilland that could change in flourish19:42
replaceafilli think it will change19:42
replaceafillif i remember yvl's explanation correctly19:42
aelknerpushed19:43
replaceafillall you have to remember about accordions is that you need an element for the header (click target) and its next sibling is the content19:43
aelkneri added some white space before the XXX section as well as the new section for accordion19:43
aelknerthe more the js grows, the more the need for a little white space19:44
aelknerjust a little, not to much19:44
replaceafillpulling19:45
aelknerfunny how you can see the form above move left and right as you open and close the groups div19:45
replaceafillaelkner i see edit groups outside the groups accordion19:46
aelknernot me19:46
aelkneri'll email you a screenshot19:46
replaceafilldo you have groups created?19:47
replaceafilland are you login as admin?19:47
replaceafilllogged19:47
aelkneremail sent19:48
replaceafillaelkner you dont have groups created19:50
replaceafillno schoolyear19:50
replaceafillhhmm19:50
replaceafilllet me show you how i see it19:50
aelkneron the phone19:50
replaceafillaelkner screenshot sent19:53
aelknerreplaceafill, i recreated it now19:56
aelkneri see what happens19:56
aelknerwhen the tree is not rendered, then all is ok19:56
aelknerbut when it is, t shoves the edit link out of the accordion19:56
aelkneri'll fix that19:56
replaceafillit because you havent group the two divs in groupsviewlet.pt ;)19:56
replaceafillcool19:56
replaceafillyou get the idea for accordions, right?19:57
replaceafillare you going to add the advisors accordion?19:57
aelknerpushed19:57
aelknerhow do you mean 'add the advisors accordion'?20:00
replaceafillth1a mentioned earlier today there should be an accordion for advisors20:00
aelknerah, a viewlet for the peson.Info manager, right?20:01
replaceafillalso, you should fix the style for the icon of the accordion20:01
replaceafillaccordions have a little arrow20:02
aelknergot it20:04
replaceafillmenesis, fresh check out: make instance gives error20:08
replaceafillbin/make-schooltool-instance instance instance_type=schooltool20:08
replaceafillmake: bin/make-schooltool-instance: No se encontró el programa20:08
replaceafillmake: *** [instance] Error 12720:08
menesisreplaceafill: I know. make run20:08
replaceafilli dont want to run :P20:09
replaceafill(kidding)20:09
menesisI added instance: build, but now make run runs make instance every time.20:09
menesisstrange20:09
replaceafillah20:09
menesisbut that's a little problem20:10
aelknerreplaceafill, see http://jqueryui.com/themeroller/ in the Framework icons section20:15
aelknerwhich wold you want for open div?20:15
aelkneralso, do we want something for closed divs, or o icon at all?20:15
replaceafillaelkner for me the default ones are ok20:15
replaceafillyou just have to move the text to the right a little20:16
aelkneri noticed that already20:16
aelkneri used style="padding-left: 2em"20:16
replaceafillNOOOOO20:17
replaceafillno more styles!!!20:17
replaceafill:D20:17
aelkneri know20:17
replaceafillat least put it on the extrahead ;)20:17
aelkneri just don't want to introduce a new css class, what do you suggest?20:17
aelknerput it on the extrahead?20:17
aelknerwhat does that mean?20:18
replaceafillwhy do you need an extra class20:18
replaceafillsee http://jqueryui.com/demos/accordion/#theming20:18
th1areplaceafill is CSS Czar.20:18
replaceafillthere's the answer20:18
replaceafill:D20:18
th1aHe can send you on a one-way trip to Siberia.20:18
replaceafillaelkner when the accordion is built all those styles are applied20:18
replaceafillaelkner you just have to set them right20:18
replaceafillth1a :))20:19
replaceafillaelkner <h3 class="ui-accordion-header ui-helper-reset ui-state-active ui-corner-top">20:20
replaceafillin your case that's an h520:20
replaceafillbut the classes are the same20:20
replaceafilland note that ui-accordion-header is bold ;)20:20
replaceafillthat's the one you need20:20
replaceafillth1a i'm setting up a testing instance so you can see aelkners accordions20:21
th1aOK.20:21
aelknerreplaceafill, according to the doc, that h3 is generated20:21
th1aBasically, styles outside of CCS files are going to become verboten.20:21
aelknerhow do i instruct the accordion to insert those classes?20:22
*** menesis has quit IRC20:22
replaceafillaelkner jquery does that20:22
replaceafillyou just have to declare the css style for that class20:22
aelknerhow would one do that?20:23
replaceafillok, in the extrahead slot20:23
aelkner'declare a style for a class' is not even a valid concept to me20:23
replaceafillinsert <style type="text/css"></style>20:24
replaceafillsorry aelkner english is my second language20:24
replaceafilland sometimes my third :D20:24
aelknerit's not the language, it's called being specific20:24
replaceafillinsert ^ that in the extrahead slot!20:24
aelkneryou were saying with the <style> thing20:24
aelkneroh, create my own css in extrahead?20:24
replaceafillas yvl says, code talks better :)20:25
replaceafillyes aelkner20:25
replaceafillcreate your own css in extrahead20:25
aelkneri thought that jquery-ui already supplies the classes20:25
replaceafillit does!20:25
replaceafillclasses != styles20:25
replaceafillyou have to provide styles for THOSE classes jquery created for you20:25
replaceafilland jquery provides some basics20:25
replaceafillbut you can override styles20:25
aelknerok, i get it now20:26
replaceafillyay!!!20:26
aelknerthey markup the elements wth classes20:26
aelknerwe need to define the styles for those classes20:26
replaceafillcorrect20:26
replaceafilland that applies to all jquery ui plugins :)20:26
replaceafilltheir classes are the plug points for you visual changes20:27
*** alga has quit IRC20:30
aelknerreplaceafill, just pushed, it doesn't pad in the browser for some reason20:38
aelknerin firebug, when clicking on the h5, the css says pading-left: 2en, but the browser doesn't render the padding20:39
replaceafillen?20:39
replaceafillor em?20:39
replaceafillpulling20:39
aelknerem20:39
replaceafillaelkner this rule: ".info-block h5" is overriding your style20:43
replaceafillso you need to be more "specific" in your rule20:43
replaceafilljust do:20:44
replaceafillh5.ui-accordion-header20:44
replaceafilland it will work20:44
aelknerok, will do20:44
replaceafilland add type="text/css" to <style>20:44
aelknerdo you know wy we can't just put <script> in the extrahead20:46
aelknerinstead of that annoying metal:block?20:46
aelknerbtw, the style change worked20:46
replaceafillnot the technical part, i just heard it's considered special :)20:46
replaceafillcan you push, so th1a can see it?20:47
aelknerpushed20:48
th1aWhat am I looking at?20:49
replaceafillth1a empty instance at http://69.164.203.135:54111 with aelkner's accordions20:49
replaceafillyou have to add persons, groups, etc20:49
replaceafillyou can also see the preferences change he did20:49
replaceafillclicking on... the Reports button :D20:49
aelknerth1a, details has been empty for some time now, so we were wondering if we should just get rid of it20:50
th1aHm?20:50
aelknergo to the view for a person20:50
th1alike, manager?20:50
aelkneranyperson20:50
aelknerthere's a section titled, Details20:50
aelknerit has had nothing in it for some time now20:51
aelknera silly bit of yagni there20:51
th1aPresumably it did something once.20:51
th1aAnyhow, if nothing goes there, get rid of it.20:51
aelknerwill do20:51
aelknerdid you want to add advisors to the accordion?20:52
aelknera tree like groups is?20:52
th1aWell, we probably don't really want a tree.20:52
aelknerso instead?20:53
th1aA list?20:53
aelknerjust ul, li?20:53
aelkneri could do that20:53
th1aWell, what do the Ubuntu web guidelines suggest?20:53
th1aThat's your bible.20:53
aelkneri'll look20:53
th1aI would make a simple table.20:54
aelknerit only mentions using dots for lists20:55
th1aI would make a simple table.20:55
*** alga has joined #schooltool20:55
th1aFirst Name, Last Name, Phone.20:56
th1aLink to full contact entry.20:57
th1aOh,20:57
th1aWait20:57
th1aThis is advisors, not contacts.20:57
th1aSOrry.20:57
th1aFor advisors, just a list.20:58
aelknerand a link for editing them?20:58
aelknerlike edit groups?20:59
th1aYes... that should be a modal.20:59
th1aDid you try one of those yet for relationships?20:59
aelknerreplaceafill is doing that today20:59
replaceafillth1a not yet20:59
th1aOK.20:59
aelkneri'll do the accordion part and we'll meet in the middle :)20:59
th1aNow... 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
aelknerreplaceafill, i need to run some errands this afternoon21:00
aelknerwould you be available starting at 8pm?21:00
aelknernp if you can't21:00
th1aaelkner, I think we should put off the hiding sheets discussion.21:00
replaceafillth1a you mean the "edit groups" link?21:00
aelknerth1a, i'm ok with that21:01
aelknerwe have momentum here with the ui stuff21:01
th1aIn particular I was thinking of edit advisors.21:01
aelknerreplaceafill can you focus you relationship wor on the advisors one rather than the groups one?21:01
replaceafillah ok21:02
th1aWhile we are at it we should probably put advisors and advisees in one accordion.21:02
aelknerwhy not one accordion fr each?21:02
th1aLess irrelevant garbage.21:02
th1aBecause no kid is practically going to be an advisor and no teacher is practically going to be an advisee.21:02
th1aBut, well, it is possible.21:02
th1aAnd 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
aelknerif the accordion has header 'Advisors/Advisees'21:03
replaceafillth1a what about sections and sections taught21:03
replaceafillright now they're two accordions21:04
aelknergood point21:04
th1aI suppose we could do the same thing there.21:04
aelknerit's the same teacher and student at same time idea21:04
aelknerso one accordion for advisors/advisees21:04
aelkneron for sections21:04
aelknerone21:04
replaceafillaelkner regarding 8pm your time, i'll try to be online21:05
aelknerand within the accordion, the sub-sections will only render if they have something21:05
th1aYes.21:05
th1aIf you have nothing for the sub-section, and no permission to add anything to it, it just won't be there.21:06
aelknerfor the case of sections, there is no links, but for accordions, there needs to be two21:06
aelkneredit advisors21:06
aelkneredit advisees21:06
aelknerbecause of the theoretical possibility of having both21:06
aelknersorry, but for accordions -> but for advisors21:07
th1aYes.21:07
aelknerthe sections accordion should render even if there are no sections, right?21:08
aelknerjust the sub-sections Taught and Attend will render or not render21:08
aelknerbut the accordion itself doesn't take up any room even when empty, so...21:08
aelknerright now the viewlet renders nothing at all until the student is enrolled into a section21:08
replaceafillaelkner you should also "activate" one accordion21:09
replaceafillmaybe the first one21:09
aelknerbut we could cange that to at least render the accordion header no matter what21:09
aelknerdeatils goes away, so what is the first one?21:09
replaceafillactivate means displaying it21:09
aelknerunderstood21:09
replaceafillhttp://jqueryui.com/demos/accordion/#option-active21:09
replaceafill$( ".selector" ).accordion({ active: 2 });21:10
aelknerfirst-child, no?21:12
aelkner2 is a silly argument21:12
aelknerwhat are they thinking with that?21:12
replaceafillit's just documentation :)21:12
aelknerbtw, it's pretty stupid docs as far as the examples go21:13
replaceafill¬¬21:13
aelknerwe don't need to do anything to activate the first one21:14
aelknerthat's the default behavior21:15
aelkneri added the empty div back to details to prove this21:15
aelknerth1a, we should talk about what accordions we are looking at and what order21:15
replaceafillyes, when you remove empty Details it will show21:15
aelknerso far, after removing details we have:21:15
aelknerSections21:16
aelknerAdvisors / Advisees21:16
aelknerwhat else?21:16
aelknerContacts?21:16
aelkneroh, i forgot, we already have Groups21:16
aelknerGroups, Sections, Advisors / Advisees, Contacts as the order?21:17
th1aDemographics.21:17
aelknerso same order with demos last?21:17
th1aHm.21:17
th1aThe main point is that we'll be fiddling with it for a while.21:18
replaceafillaelkner you're good with accordions now, right?21:18
replaceafilli'll go get some food21:18
aelkneryep21:18
replaceafillcool21:18
th1aI'd say Sections/Contacts/Demographics/Advisors/Groups21:19
replaceafilli'll work on the relationship view when i get back, see you later21:19
th1aDon't use "Advisees"21:19
aelknerok, agreed21:19
aelknerwhy not?21:19
th1aJust "Advisor"21:19
th1aOr "Advisory"21:19
aelkneroh, just singular21:19
aelknerAdvisory, agreed21:19
th1aNobody really uses that word.21:19
th1aIt just seems weirdly redundant.21:20
aelkneris that good or bad?21:20
th1aI'm just saying it seems a little unnecessary.21:20
*** replaceafill has quit IRC21:20
aelknerso Advisor?21:20
aelkneror Advisory?21:20
th1aLet's say Advisory for now.21:21
aelknerok21:21
aelknerso i'm off for the afternoon21:21
th1aBut the bigger point is we need to keep coming back to these, getting feedback, etc.21:22
aelknersure21:22
aelkneri have plenty to do when i get back21:22
aelknercya21:22
th1aLater.21:22
*** menesis has joined #schooltool21:37
*** ignas has quit IRC21:52
*** asharma has quit IRC21:54
*** replaceafill has joined #schooltool22:04

Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!