Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rc-control.js > utility.js 적용 요청 #18

Closed
gitaeks opened this issue May 24, 2016 · 7 comments
Closed

rc-control.js > utility.js 적용 요청 #18

gitaeks opened this issue May 24, 2016 · 7 comments

Comments

@gitaeks
Copy link
Member

gitaeks commented May 24, 2016

모바일 페이지 풋터 또는 기타 위치에서 빈번하게 사용되는 기능들을 utility.js 에 적용 요청합니다.

image

// Scroll Top 
$('body').on('tap', '[data-scroll="top"]', function() {
    $('.content').animate({scrollTop:0}, 'fast');
    return false;
});


// History Back
$('body').on('tap’, '[data-history="back"]', function() {
    window.history.back();
});


// Document Reload
$('body').on('tap', '[data-location="reload"]', function() {
    window.location.reload();
});

관련문서

https://docs.google.com/document/d/1BS7sdH04WW9KEsqIDuBK3mt777RWzMGsNBq2o1plk18/edit#heading=h.nv83hhicbxwn

@kieregh
Copy link
Collaborator

kieregh commented May 24, 2016

현재...component.js 안에 utility.js 를 두고 component 관련 공통 함수를 내재화했습니다.
data-history="back" 부분도 이 utility.js 안에 존재하는데요...

요청하신 data-scroll="top" & data-location="reload" 도 상기 utility.js 에 둬야 하는지 여부와
아니면 utility.js 를 component.js 에서 분리하여 control.js 쪽으로 옯겨야 할지 기능적으로
체크를 해보고 진행하겠습니다.

@gitaeks
Copy link
Member Author

gitaeks commented May 24, 2016

JavaScript components와 control 상호간의 의존성 이슈들이 있을 덴데요. 아래 BS 커스텀 패키지 를 참고해 주세요. 프레임웍 최적화 할때, 사용하는 컨포넌트와 컨트롤만으로 구성된 프레임웍을 만드는 기능 입니다.

http://getbootstrap.com/customize/

@gitaeks
Copy link
Member Author

gitaeks commented May 24, 2016

component.js 와 control.js 로 구분한것은 개발 과정상에서 편의 때문인데요. 실제 적용과정에서는 분리하여 적용하는 경우는 없을 것으로 판단됩니다.

다만, utility.js는 component.js 와 control.js에 모두 사용되는 js 라면. control.js에 정의 되는게 맞다고 생각됩니다.

이유는

control.js이 웹페이지에서 우선하여 임포트 되기 때문 입니다.

@kieregh
Copy link
Collaborator

kieregh commented May 24, 2016

네..저도 control.js 에 utility.js 를 넣는 방안을 고려하고 있습니다.
문제는 필수여부 입니다. 예를들어, component.js 의 플러그인 들이 돌아가려면 utility.js 가 필수 입니다.
즉, utility.js 를 control.js 쪽으로 이동시키면...control.js 파일은 필수가 됩니다. 다시말해서, control.js
에는 rc 를 구동시키기 위한 필수 요소만 들어가야 한다는 것입니다.

어찌보면..control.js 가 rc 의 엔진 역할을 하게 되는 것 같습니다.
그래서...engine.js 라는 용어도 고려해볼만하다고 생각합니다.

참고로....Bootstrap 의 http://getbootstrap.com/customize/ 기능에서 css 는 모르겠지만
js 부분은 좀 불안전해보입니다. 이유는 아래와 같습니다.

popver.js 는 tooltip.js 구동을 전제로 하여 돌아가기 때문입니다.
https://github.com/twbs/bootstrap/blob/master/js/popover.js 파일 32~35 라인에 보시면 아래와
같이 명시되어 있습니다. (popover 는 tooltip.js 에서 확장된 개념)

  // NOTE: POPOVER EXTENDS tooltip.js
  // ================================
  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)

즉, 사용자가 popover.js 만 선택하고 tooltip.js 는 선택하지 않으면 popover.js 는 작동하지 않는다는
것입니다.

이상입니다.

@gitaeks
Copy link
Member Author

gitaeks commented May 24, 2016

네. 그러지 않아도 파일명 관련 이슈 작성중이었습니다.

@kieregh
Copy link
Collaborator

kieregh commented May 24, 2016

일단, 필수 임포트 js 파일 개념을 가지고 이 파일은 반드시 임포트되야 하며 customize 영역에서 제외된다는 점을 인지/동의 해주시기 바랍니다.

그러면..그 파일이..control.js 이건 engine.js 이건 이 파일속에 공통으로 사용하는 필수요소를 배치하는 방향으로 수정하겠습니다.

@kieregh
Copy link
Collaborator

kieregh commented May 24, 2016

추가적으로 swiper.js 같은 경우 문서 하단에 배치가 되던데...반드시 마크업 하단에 배치되야 하는 js 파일을 고려해서...extension.js 를 extension-top.js 와 extension-bottom.js 로 구분할 필요가 있어 보입니다.

이 상황이... extensiton 부분은 rc 공식 패키지에 포함시키지 않는 것이 좋다고 생각한 이유 중에 하나입니다. 말그대로 확장의 개념에서는 여러가지 변수가 발생할 수 있기 때문에 커스텀 영역으로 남겨두는 것이
rc 의 완성도를 위해서 좋다고 판단합니다. 또한, rc 초기에는 커스텀 노하우에 대한 로얄티를 가져가야 한다는 생각도 있구요...

@gitaeks gitaeks closed this as completed May 27, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants