Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Add timeline web UI to set tag filter and match style. Still not 100%. (1) Now that more than one text entry is on the page, pressing enter does not trigger a submit [Firefox ESR 10.0.12], (2) electing "Related" causes Tag Filter to blank, (3) entering a tag filter while "Related" is selected causes "Related" to be deselected, (4) possibly too much clutter, and (5) definitely too much clutter if combined with any future expansions. (1) is due to the lack of a submit button. (2) and (3) are a bad interaction between the t=/r= dichotomy and the design of style_submenu_entry(). (4) maybe could be addressed by changing "Related"/"Branch Only" and "Without Files"/"With Files" to checkbuttons, but style_submenu_checkbox() was never actually implemented. (Probably also want "Unhide" to be a checkbox.) For (5) I have in mind letting the admin define a project-specific list of preset filters. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | andygoth-timeline-ms |
| Files: | files | file ages | folders |
| SHA1: |
d4a6d3c1ec0ed8322c49fe0d180f2a29 |
| User & Date: | andygoth 2016-11-04 16:21:20.112 |
| Original Comment: | Add timeline web UI to set tag filter and match style. Still not 100%. (1) Now that more than one text entry is on the page, pressing enter does not trigger a submit [Firefox ESR 10.0.12], (2) electing "Related" causes Tag Filter to blank, (3) entering a tag filter while "Related" is selected causes "Related" to be deselected, (4) possibly too much clutter, and (5) definitely too much clutter if combined with any future expansions. (1) is due to the lack of a submit button. (2) and (3) are a bad interaction between the t=/r= dichotomy and the design of style_submenu_entry(). (4) maybe could be addressed by changing "Related"/"Branch Only" and "Without Files"/"With Files" to checkbuttons, but style_submenu_checkbox() was never actually implemented. (Probably also want "Unhide" to be a checkbox. For (5) I have in mind letting the admin define a project-specific list of preset filters. |
References
|
2016-11-05
| ||
| 03:34 | Merge trunk. Some issues identified by [d4a6d3c1ec] are now improved. (1) is fixed, though clicking/tabbing outside the entry field also triggers a submit which may prove annoying. (2) and (3) are still broken. (4) is better because "With/Without Files" is now a checkbox simply labeled "Files". (5) is closer to being feasible, perhaps if "Tag Filter:" is changed to "Filter:". check-in: 74fe9587f8 user: andygoth tags: andygoth-timeline-ms | |
Context
|
2016-11-04
| ||
| 20:49 | Integrate andygoth-quote-apostrophe. Needed because single quotes can be used in the tag filter entry, and these single quotes would otherwise be passed through unprotected to the output HTML. check-in: 68bd2e7bed user: andygoth tags: andygoth-timeline-ms | |
| 16:21 | Add timeline web UI to set tag filter and match style. Still not 100%. (1) Now that more than one text entry is on the page, pressing enter does not trigger a submit [Firefox ESR 10.0.12], (2) electing "Related" causes Tag Filter to blank, (3) entering a tag filter while "Related" is selected causes "Related" to be deselected, (4) possibly too much clutter, and (5) definitely too much clutter if combined with any future expansions. (1) is due to the lack of a submit button. (2) and (3) are a bad interaction between the t=/r= dichotomy and the design of style_submenu_entry(). (4) maybe could be addressed by changing "Related"/"Branch Only" and "Without Files"/"With Files" to checkbuttons, but style_submenu_checkbox() was never actually implemented. (Probably also want "Unhide" to be a checkbox.) For (5) I have in mind letting the admin define a project-specific list of preset filters. check-in: d4a6d3c1ec user: andygoth tags: andygoth-timeline-ms | |
| 15:52 | Change style_submenu_entry() to allow zero and negative iSize. Zero iSize means display size and length limit are not specified, and negative iSize means no length limit is specified but the display size is set to the absolute value of iSize. check-in: 2e9ac33a9a user: andygoth tags: andygoth-timeline-ms | |
Changes
Changes to src/timeline.c.
| ︙ | ︙ | |||
1475 1476 1477 1478 1479 1480 1481 |
zThisTag = zTagName;
}else if( zBrName ){
zThisTag = zBrName;
}
/* Interpet the tag style string. */
if( zThisTag ){
| | | | | 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 |
zThisTag = zTagName;
}else if( zBrName ){
zThisTag = zBrName;
}
/* Interpet the tag style string. */
if( zThisTag ){
if( fossil_stricmp(zMatchStyle, "glob")==0 ){
matchStyle = MS_GLOB;
}else if( fossil_stricmp(zMatchStyle, "like")==0 ){
matchStyle = MS_LIKE;
}else if( fossil_stricmp(zMatchStyle, "regexp")==0 ){
matchStyle = MS_REGEXP;
}
}
/* Construct the tag match expression. */
if( zThisTag ){
zTagSql = tagMatchExpression(matchStyle, zThisTag, &tagMatchCount);
|
| ︙ | ︙ | |||
1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 |
}else if( rCirca>0.0 ){
blob_appendf(&desc, " occurring around %h.<br />", zCirca);
}
if( zSearch ){
blob_appendf(&desc, " matching \"%h\"", zSearch);
}
if( g.perm.Hyperlink ){
double rDate;
zDate = db_text(0, "SELECT min(timestamp) FROM timeline /*scan*/");
if( (!zDate || !zDate[0]) && ( zAfter || zBefore ) ){
zDate = mprintf("%s", (zAfter ? zAfter : zBefore));
}
if( zDate ){
rDate = symbolic_name_to_mtime(zDate);
| > > > | 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 |
}else if( rCirca>0.0 ){
blob_appendf(&desc, " occurring around %h.<br />", zCirca);
}
if( zSearch ){
blob_appendf(&desc, " matching \"%h\"", zSearch);
}
if( g.perm.Hyperlink ){
static const char *const azMatchStyles[] = {
"exact","Exact", "glob","Glob", "like","Like", "regexp","Regexp"
};
double rDate;
zDate = db_text(0, "SELECT min(timestamp) FROM timeline /*scan*/");
if( (!zDate || !zDate[0]) && ( zAfter || zBefore ) ){
zDate = mprintf("%s", (zAfter ? zAfter : zBefore));
}
if( zDate ){
rDate = symbolic_name_to_mtime(zDate);
|
| ︙ | ︙ | |||
1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 |
timeline_submenu(&url, "Unhide", "unhide", "", 0);
}
}
style_submenu_entry("n","Max:",4,0);
timeline_y_submenu(disableY);
style_submenu_binary("v","With Files","Without Files",
zType[0]!='a' && zType[0]!='c');
}
blob_zero(&cond);
}
if( PB("showsql") ){
@ <pre>%h(blob_sql_text(&sql))</pre>
}
if( search_restrict(SRCH_CKIN)!=0 ){
| > > > > | 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 |
timeline_submenu(&url, "Unhide", "unhide", "", 0);
}
}
style_submenu_entry("n","Max:",4,0);
timeline_y_submenu(disableY);
style_submenu_binary("v","With Files","Without Files",
zType[0]!='a' && zType[0]!='c');
style_submenu_entry("t", "Tag Filter:", -8, 0);
style_submenu_multichoice("ms",
sizeof(azMatchStyles) / sizeof(*azMatchStyles) / 2,
azMatchStyles, 0);
}
blob_zero(&cond);
}
if( PB("showsql") ){
@ <pre>%h(blob_sql_text(&sql))</pre>
}
if( search_restrict(SRCH_CKIN)!=0 ){
|
| ︙ | ︙ |