Combine cranberries and apple juice in a medium saucepan; bring to a boil. Remove from heat; let stand for 10 minutes. Drain cranberries; discard apple juice. Set cranberries aside.
Bring wine and cranberry juice to a boil in pan, and cook until reduced to 1/3 cup (about 8 minutes). Pour wine mixture into a medium bowl; add shallots, lemon juice, salt, and pepper. Gradually add oil, stirring with a whisk.
Combine cranberries, greens, apple, and onion in a large bowl. Drizzle dressing over salad; toss gently to coat. Sprinkle with toasted walnuts.