index.html - adv datetime function, preparation to a serious steps
js/apps/core.js - future main core JS file
css/common.css - main CSS styles
TODO:
* adding Bootstrap 3.0.3, JQuery 1.10.2, underscope* (if will be required)
* start to construct model of future Timetable.
add bootstrap 3.0.3, jquery 1.10.2 and underscope* (possible to delete)
add filters.js - AngularJS filters
change common.css - adding styles to elements
index.html - model of application, day of weeks, list of subjects
core.js - write core of application adding Controller.
pagination.js - probably future module with pagination controller
services.js - future module for service JSON import/export data.
Delete underscore.js - unused file.
common.css - add styles to containers, tables, table columns (width), font-size for time of pairs, and margins and paddings for tables and button-groups.
index.html - {
* using ng-app='timetable' instead of ng-app
* change order of load scripts
* button-group (edit and clear) of each day in timetable
* Delete gradient CSS class for IE9 SVG, delete gradients
* Change main controller position to parent tag
* add initTTable function call
* table-border bootstrap's class to each day-table
* in each table of timetable of day adding column with time of pair (add header colspan)
* Change bootstrap's column sizes.
* add pagination, and selection of subjects per page.
* add feature - subject delete
* add link to name of subject in table for add it to editable timetable
* correct pagination filter for right works
* Change ng-if on ng-show. Pagination start works normally.
* Add new button to control subject, action will be add in next version
* Add day_editor block with table, ng-show for show it.
Note: features - add subject to timetable by one, bind timetable to day (and save it), init timetable at start, edit day's timetable, change position of subject, delete subjects from it's table and from timetable
}
core.js - {
* Change controller function creation
* Change pageSize to 5 by default
* add pageValues for selection pageSize
* add boolean variable addingActive for select subject block
* add timePairs strings array
* add editDay, defDay, bindDay, nullLine - for timetable edit
* Delete id's from day structure
* add function to change, edit, verify timetable & subjects
* add some paging functions
}
TODO:
* create module pagination and controller
* create module timetableServices with service - for export & import data (maybe depends of IP or uuid of IP)
* correction of core script and HTML file
days.json - Add json DB file
move libraries files of AngularJS, jQuery and Bootstrap to 'lib' folder.
Rename folder with AngularJS's application from apps to app.
common.css - {
* - add a:hover pseudo-class style for a without href parameter
* - union style classes and ID's with same parameters
}
index.html - {
* - change paths to include libraries and app's JS files
* - delete initTTable function call
* - add store(save)/load temporary buttons for future localized and improve button (maybe changing position and style)
* - delete table-bordered class from table daytable
* - delete href='#' from links
* - add message, informs about free slots for add subjects
TODO: add subjects (pop-up modal window) and correct buttons save/store position, change style in button-groups
}
core.js - {
* - correct JSON data of arrays
* - turn back id's of days for store data in many files
* - add load/save data functions (save data should be rewrite with using $http.post)
* - correct addSubject function, add condition which verify on day_editor show
* - add inner function - getPositions, return array of positions of elements
* - add dayRef varible for correct references when finish editing
* - correct function bindingDay and saveDay with using dayRef
* - getSelectedSubjectsCount - return selected elements (maybe changed with using editDay info)
* - createTable correction for skip nullLines (very much mapings)
* - delete bindingDay call from saveDay (TODO: write call when selected day)
TODO: write pagination module (correct it), add feature adding subjects, rewrite server-side to save each day (and client side too)*^
*^ - maybe later
}
Commit again, magic...
days.json - Add json DB file
move libraries files of AngularJS, jQuery and Bootstrap to 'lib' folder.
Rename folder with AngularJS's application from apps to app.
common.css - {
* - add a:hover pseudo-class style for a without href parameter
* - union style classes and ID's with same parameters
}
index.html - {
* - change paths to include libraries and app's JS files
* - delete initTTable function call
* - add store(save)/load temporary buttons for future localized and improve button (maybe changing position and style)
* - delete table-bordered class from table daytable
* - delete href='#' from links
* - add message, informs about free slots for add subjects
TODO: add subjects (pop-up modal window) and correct buttons save/store position, change style in button-groups
}
core.js - {
* - correct JSON data of arrays
* - turn back id's of days for store data in many files
* - add load/save data functions (save data should be rewrite with using $http.post)
* - correct addSubject function, add condition which verify on day_editor show
* - add inner function - getPositions, return array of positions of elements
* - add dayRef varible for correct references when finish editing
* - correct function bindingDay and saveDay with using dayRef
* - getSelectedSubjectsCount - return selected elements (maybe changed with using editDay info)
* - createTable correction for skip nullLines (very much mapings)
* - delete bindingDay call from saveDay (TODO: write call when selected day)
TODO: write pagination module (correct it), add feature adding subjects, rewrite server-side to save each day (and client side too)*^
*^ - maybe later
}
Finalize project! Course work printed by this version!
ADD jquery.checkinput.js - adding validation of input on wrong characters
GENERAL changes - add small commentaries.
modify common.css - {
* increase margin of mainhdr class by bottom side
* add block-fixed class style for variously fixing block (not used yet)
* add red-text class style
* string 38 (in working tree file) change width from auto to 90%, looks better
* daytime-col class style increase width to 27%
* add saveload class style, margin-top - 10%
}
index.html - {
* including jquery.checkinput.js
* add save/load buttons for days and subjects (and fami_5sem.json access)
* add to ng-repeat day in days tracking by $index for improve stability
* correct colspan in days table
* union class attributes at line 69 (old-56)
* add modal dialog hidden at start form
* correct subject list style classes, pagination and buttons
* of course, correction of disabling elements when editable timetable is overflow (alerting & indication)
* add script for FF, remove disabled attribute
* add button to close editor w/o saving
* correct function calls in events
* add button to call modal (create subject)
* ngChange calls updateTTable, which restructuring table data
}
DELETE pagination.js as unused
core.js - {
* double rewrite client-side of service ServData (load/save functions)
* rewrite defDay to daysubjects, defDay not in use
* rewrite $scope.days - valid JSON & full init at start
* remove addingActive variable is unused
* add function getPosition to get array of positions of elements
* rewrite showeditor - confirming and improve saving
* rewrite bindingDay - confirming and improve working with objects/references
* add function getRealSubjectCount - get count w/o nullLines
* add function checkSubject to uncheck (read unselect) it if editDay's subjects array is overflow
* add function getFreeSlotsSubjectCount - get free slots to add subjects
* add function addSelectedSubject - add selected subjects to timetable
* add function removeSubjTTable - remove element and update timetable
* add function deleteSubjects - remove any selected subject
* rewrite function createTable, get it short
* rewrite(rename) createTTable->updateTTable, remove some conditions us impossibles ways
* add function closeEditor - close editor w/o saving data
* remove function showday - unused
* add function newSubject - create object with new subject name
}
services.js - {
* rewrite module working with server with using $http instead of ng.$resource
* add overrides Accept header for getting correct data
}
filters.js - only comments added
storedata.php - {
Rewrite server-side script
* change condition from isset POST|GET variable to switch in dependence of REQUEST_METHOD
* on each final of condition returns HTTP code and text/plain or application/json object
* remove encode_json before printing json object, removes extra quotes
}