Git Product home page Git Product logo

schedulekit's People

Contributors

bryant1410 avatar gservera avatar josh- avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

schedulekit's Issues

Crash at assert(unsortedConflicts.count > 0)

Thank you for the framework, it's amazing!!
I am getting crash when trying to change event's date to the next week. Looks like commenting out the assert statement helps to fix it.
//assert(unsortedConflicts.count > 0)

assertion failed: file …Frameworks/ScheduleKit/ScheduleKit/SCKViewController.swift, line 373
Current stack trace:
0 libswiftCore.dylib 0x0000000100bdccc0 swift_reportError + 132
1 libswiftCore.dylib 0x0000000100bf9f50 _swift_stdlib_reportFatalErrorInFile + 112
2 libswiftCore.dylib 0x0000000100ba8370 partial apply for (_assertionFailed(StaticString, String, StaticString, UInt, flags : UInt32) -> Never).(closure #1).(closure #1).(closure #1) + 99
3 libswiftCore.dylib 0x00000001009f00a0 specialized specialized StaticString.withUTF8Buffer ((UnsafeBufferPointer) -> A) -> A + 355
4 libswiftCore.dylib 0x0000000100ba82b0 partial apply for (_assertionFailed(StaticString, StaticString, StaticString, UInt, flags : UInt32) -> Never).(closure #1).(closure #1) + 144
5 libswiftCore.dylib 0x00000001009f05b0 specialized specialized String._withUnsafeBufferPointerToUTF8 ((UnsafeBufferPointer) throws -> A) throws -> A + 124
6 libswiftCore.dylib 0x0000000100b4caf0 partial apply for (_assertionFailed(StaticString, String, StaticString, UInt, flags : UInt32) -> Never).(closure #1) + 185
7 libswiftCore.dylib 0x00000001009f00a0 specialized specialized StaticString.withUTF8Buffer ((UnsafeBufferPointer) -> A) -> A + 355
8 libswiftCore.dylib 0x00000001009efe80 _assertionFailed(StaticString, String, StaticString, UInt, flags : UInt32) -> Never + 144
9 ScheduleKit 0x000000010054f3f0 SCKViewController.resolvedConflicts(for : SCKEventHolder) -> [SCKEventHolder] + 833
10 ScheduleKit 0x000000010051f890 SCKGridView.invalidateLayout(for : SCKEventView) -> () + 383
11 ScheduleKit 0x0000000100539880 SCKView.invalidateLayout(for : [SCKEventView], animated : Bool) -> () + 2391
12 ScheduleKit 0x000000010053ada0 SCKView.invalidateLayoutForAllEventViews(animated : Bool) -> () + 71
13 ScheduleKit 0x000000010054d1e0 SCKViewController.parseEvents([SCKEvent]) -> () + 8546
14 ScheduleKit 0x000000010054bb60 SCKViewController.parseData(in : [SCKEvent], from : SCKEventRequest) -> () + 1040
15 ScheduleKit 0x0000000100552800 protocol witness for AsynchronousRequestParsing.parseData(in : [SCKEvent], from : SCKEventRequest) -> () in conformance SCKViewController + 57
16 ScheduleKit 0x0000000100545870 SCKEventRequest.complete(with : [SCKEvent]) -> () + 498
17 ScheduleKit 0x0000000100546590 SCKConcreteEventRequest.complete<A where ...> (with : [A1]) -> () + 122
18 MyApp 0x00000001001652f0 WeekViewController.(scheduleController(SCKViewController, didMakeConcreteEventRequest : SCKConcreteEventRequest) -> ()).(closure #1).(closure #1) + 125
19 MyApp 0x0000000100004ac0 thunk + 39
20 libdispatch.dylib 0x000000010127c6d9 _dispatch_call_block_and_release + 12
21 libdispatch.dylib 0x0000000101272f54 _dispatch_client_callout + 8
22 libdispatch.dylib 0x0000000101281a09 _dispatch_main_queue_callback_4CF + 362
23 CoreFoundation 0x00007fff9c0f0520 CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE + 9
24 CoreFoundation 0x00007fff9c0b0bd0 __CFRunLoopRun + 2205
25 CoreFoundation 0x00007fff9c0b07d0 CFRunLoopRunSpecific + 420
26 HIToolbox 0x00007fff9b63ca3c RunCurrentEventLoopInMode + 240
27 HIToolbox 0x00007fff9b63c7b1 ReceiveNextEventCommon + 432
28 HIToolbox 0x00007fff9b63c74f _BlockUntilNextEventMatchingListInModeWithFilter + 71
29 AppKit 0x00007fff99be2718 _DPSNextEvent + 1120
30 AppKit 0x00007fff9a35c77a -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2789
31 AppKit 0x00007fff99bd715b -[NSApplication run] + 926
32 AppKit 0x00007fff99ba193f NSApplicationMain + 1237
33 MyApp 0x000000010001ca60 main + 84
34 libdyld.dylib 0x00007fffb1613254 start + 1

Event properties not being updated after unlocking

In the current implementation all the event holder objects get locked (thus, they stop observing changes from their represented object) when a layout process takes place, in order to prevent unexpected changes while calculating event conflicts; and they are unlocked as soon as the layout process finishes. This seems to be a good approach when handling event objects that might change unexpectedly (eg. events fetched from a remote database)

However, despite the objects don't stay locked for more than a few miliseconds, their observed properties could actually change during this short period of time and in that case, we would not be aware of the new values and so, the event could become misplaced or even not removed from screen if necessary.

POSSIBLE FIX: Instead of stopping KVO functionality when locking events, we coud keep observing these properties and delay change propagation until the -unlock method is called. Adding a changedWhileLocked flag could also be an interesting workaround. In that case, we should eventually trigger a new relayout process in order to display the new values.

MonthView and select region for new appointment

Questions, not so much bugs...

I'm just asking... is there currently a monthview that I can use, (maybe gridview?)

Also, what about the ability to highly an empty region of the schedule component to be able to create a new appointment with the specfied start and end times?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.