feat(project): 달력 구글 캘린더식 개편 — 칩 정리·행 제한(+N)·부드러운 드래그
- 막대를 클라이언트(JS)가 렌더 → 주별 레인 배치, 표시 행 MAX_LANES(3) 제한 - 넘치면 '+N 더' 칩, 클릭 시 그날 업무 팝오버(클릭하면 업무 모달) - 막대 라벨은 제목만(프로젝트는 색으로 구분), 전체는 툴팁 - 드래그 이동: 낙관적 업데이트(즉시 재렌더, 새로고침 제거) + 실패 시 롤백 - 주 셀 높이 확대, 칩 스타일 정리 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{% extends "erp_base.html" %}
|
||||
|
||||
{% block head_extra %}
|
||||
<link rel="stylesheet" href="/static/project.css?v=20260625r" />
|
||||
<link rel="stylesheet" href="/static/project.css?v=20260625s" />
|
||||
<link rel="stylesheet" href="/static/vendor/material-symbols/material-symbols.css" />
|
||||
{% endblock %}
|
||||
|
||||
@@ -164,5 +164,5 @@
|
||||
<script>
|
||||
window.PJ_COLORS = {{ ["#4573d2","#37a3a3","#62a420","#e8a33d","#e8384f","#aa62e3","#f06a6a","#5a6772"] | tojson }};
|
||||
</script>
|
||||
<script src="/static/project.js?v=20260625r" defer></script>
|
||||
<script src="/static/project.js?v=20260625s" defer></script>
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{% extends "erp_base.html" %}
|
||||
|
||||
{% block head_extra %}
|
||||
<link rel="stylesheet" href="/static/project.css?v=20260625q" />
|
||||
<link rel="stylesheet" href="/static/project.css?v=20260625s" />
|
||||
<!-- 구글 머티리얼 심볼(담당자 아이콘 등) — self-host -->
|
||||
<link rel="stylesheet" href="/static/vendor/material-symbols/material-symbols.css" />
|
||||
<!-- 타임라인 vis-timeline — self-host -->
|
||||
@@ -147,19 +147,8 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<div class="pj-week-bars">
|
||||
{% for bar in week.bars %}
|
||||
<div class="pj-bar {% if bar.completed %}pj-bar-done{% endif %}
|
||||
{% if bar.continues_left %}pj-bar-l{% endif %}
|
||||
{% if bar.continues_right %}pj-bar-r{% endif %}"
|
||||
data-task-id="{{ bar.id }}"
|
||||
style="grid-column: {{ bar.start_col + 1 }} / span {{ bar.span }}; grid-row: {{ bar.lane + 1 }};
|
||||
background: {% if bar.completed %}#9aa5b1{% else %}{{ bar.color }}{% endif %};"
|
||||
title="{{ bar.label }}">
|
||||
<span class="pj-bar-label">{{ bar.label }}</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<!-- 막대는 클라이언트(JS)가 그린다 — 깔끔한 칩 + 행 제한(+N) + 드래그 이동 -->
|
||||
<div class="pj-week-bars"></div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
@@ -300,5 +289,5 @@
|
||||
</script>
|
||||
|
||||
<script src="/static/vendor/vis-timeline/vis-timeline-graph2d.min.js"></script>
|
||||
<script src="/static/project.js?v=20260625q" defer></script>
|
||||
<script src="/static/project.js?v=20260625s" defer></script>
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user