Added some documentation comments on the main js file to help understand the code
This commit is contained in:
parent
1bdee540e0
commit
d63de2dd4e
|
|
@ -1,4 +1,20 @@
|
||||||
|
/**
|
||||||
|
* @file Arquivo contendo a logica para a manipulação do canvas para exibição de uma galeria de fotos
|
||||||
|
* @version 0.0.1
|
||||||
|
* @author Gustavo Henrique S. S. de Miranda
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Gustavo Henrique S. S. de Miranda
|
||||||
|
* @class
|
||||||
|
* @classdesc Classe Geral da Aplicação contendo a base da Aplicação
|
||||||
|
*
|
||||||
|
*/
|
||||||
class PhotoViewAPP{
|
class PhotoViewAPP{
|
||||||
|
/**
|
||||||
|
* @constructs
|
||||||
|
* @description Constructor da classe que obtem dados do Canvas
|
||||||
|
*/
|
||||||
constructor(){
|
constructor(){
|
||||||
this.context = new PhotoViewContext()
|
this.context = new PhotoViewContext()
|
||||||
this.canvas = this.setCanvasFromID()
|
this.canvas = this.setCanvasFromID()
|
||||||
|
|
@ -6,58 +22,122 @@ class PhotoViewAPP{
|
||||||
this.canvasCRect = this.setCanvasCRect()
|
this.canvasCRect = this.setCanvasCRect()
|
||||||
console.log(this.context.getstate())
|
console.log(this.context.getstate())
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @description Obtém o Canvas do documentos html pelo ID dado ao mesmo
|
||||||
|
* @returns Retorna O Canvas
|
||||||
|
* @todo Alterar para a propiedade this.canvas
|
||||||
|
*/
|
||||||
setCanvasFromID() {
|
setCanvasFromID() {
|
||||||
return document.querySelector('#PhotoView')
|
return document.querySelector('#PhotoView')
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @description Define o contexto do canvas
|
||||||
|
*/
|
||||||
setCanvasContext(){
|
setCanvasContext(){
|
||||||
this.canvasContext = this.canvas.getContext('2d')
|
this.canvasContext = this.canvas.getContext('2d')
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @description Obtém a posição do canvas na página index.html
|
||||||
|
*/
|
||||||
setCanvasCRect(){
|
setCanvasCRect(){
|
||||||
this.canvasCRect = this.canvas.getBoundingClientRect()
|
this.canvasCRect = this.canvas.getBoundingClientRect()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @description Define o evento de onClick da tag canvas
|
||||||
|
*/
|
||||||
setCanvasClickEvent(){
|
setCanvasClickEvent(){
|
||||||
this.canvas.addEventListener('click',(e)=>{this.context.clickEvent(e)})
|
this.canvas.addEventListener('click',(e)=>{this.context.clickEvent(e)})
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @description Inicializa o a aplicação
|
||||||
|
*/
|
||||||
initalizePhotoViewApp(){
|
initalizePhotoViewApp(){
|
||||||
this.setCanvasClickEvent()
|
this.setCanvasClickEvent()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Gustavo Henrique S. S. de Miranda
|
||||||
|
* @class
|
||||||
|
*
|
||||||
|
* @classdesc Contexto para Gerencias as telas da aplicação
|
||||||
|
*/
|
||||||
class PhotoViewContext{
|
class PhotoViewContext{
|
||||||
#state = null
|
#state = null
|
||||||
#stateList = {}
|
#stateList = {}
|
||||||
|
/**
|
||||||
|
* @constructs
|
||||||
|
* @param {*} state Tela Inicial a ser exibida na aplicação
|
||||||
|
*/
|
||||||
constructor(state){
|
constructor(state){
|
||||||
this.#state = state
|
this.#state = state
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @description Add a view to a list of views
|
||||||
|
* @param {*} state state to be added
|
||||||
|
* @param {*} statename name of the state to be added
|
||||||
|
*/
|
||||||
addToStateList(state,statename){
|
addToStateList(state,statename){
|
||||||
this.#stateList[statename] = new state();
|
this.#stateList[statename] = new state();
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @description Gets a view on the list of views
|
||||||
|
* @param {*} statename Name of the view to be returned
|
||||||
|
* @returns The view on the list
|
||||||
|
*/
|
||||||
getStateByName(statename){
|
getStateByName(statename){
|
||||||
return this.#stateList[statename]
|
return this.#stateList[statename]
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @returns the current view
|
||||||
|
*/
|
||||||
getstate(){
|
getstate(){
|
||||||
return this.#state
|
return this.#state
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Gustavo Henrique S. S. de Miranda
|
||||||
|
* @class
|
||||||
|
* @classdesc Abstract Class to be extended as a screen for the app
|
||||||
|
* @abstract
|
||||||
|
*/
|
||||||
class abstractStateClass{
|
class abstractStateClass{
|
||||||
#parentClass = null
|
#parentClass = null
|
||||||
|
/**
|
||||||
|
* @constructs
|
||||||
|
*
|
||||||
|
*/
|
||||||
constructor(){
|
constructor(){
|
||||||
if (this.constructor == abstractStateClass){
|
if (this.constructor == abstractStateClass){
|
||||||
throw new Error("Abstract Class not should not be instatiated")
|
throw new Error("Abstract Class not should not be instatiated")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
setParentClass(parentclass){
|
/**
|
||||||
|
*
|
||||||
|
* @param {*} parentclass Reference of the parent class
|
||||||
|
* @description Defines a reference to the parent class to access its methods and attributes
|
||||||
|
*/
|
||||||
|
#setParentClass(parentclass){
|
||||||
this.#parentClass = parentclass
|
this.#parentClass = parentclass
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Gustavo Henrique S. S. de Miranda
|
||||||
|
* @class
|
||||||
|
* @classdesc Represents a thumbnail view for the app
|
||||||
|
* @extends abstractStateClass
|
||||||
|
*/
|
||||||
|
|
||||||
class thumbnailView extends abstractStateClass{
|
class thumbnailView extends abstractStateClass{
|
||||||
constructor(){
|
constructor(){
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue